day10作业1

"""author = 曹琦"""

1.编写函数,求1 + 2 + 3 +…N的和


def cq_sum1(N):
    """求1 + 2 + 3 +…N的和"""
    result = 0
    for num1 in range(1,N+1):
        result += num1
    return result


N = 100
print('1 + 2 + 3 +…N的和为:',cq_sum1(N))

2.编写一个函数,求多个数中的最大值


def cq_max(*nums):
    num2 = 0
    for num1 in nums:
        if num1 > num2:
            num2 = num1
    return num2


print(cq_max(1,2,3,4,5,6,7))

3.编写一个函数,实现摇骰子的功能,打印N个骰子的点数和

import random


def cq_sum(N):
    sum1 = 0
    for n in range(1,N+1):
        num1 = random.randint(1,6)
        sum1 += num1
    return sum1


print(cq_sum(7))

4.编写一个函数,交换指定字典的key和value。

例如: dict1 = {'a': 1, 'b': 2, 'c': 3} --> dict1 = {1: 'a', 2: 'b', 3: 'c'}


def cq_exchange(dict1):
    for key in dict1:
        value = dict1[key]
        del dict1[key]
        dict1[value] = key
    return dict1


dict1 = {'a': 1, 'b': 2, 'c': 3}
print(cq_exchange(dict1))
dict1 = {1: 'a', 2: 'b', 3: 'c'}
print(cq_exchange(dict1))

5.编写一个函数,提取指定字符串中所有的字母,然后拼接在一起产生一个新的字符串

例如: 输入 '12a&bc12d-+' --> 'abcd'


def cq_func1(str1):
    str2 = ''
    for char in str1:
        if 'a' <= char <= 'z' or 'A' <= char <= 'Z':
            str2 += char
    return str2


print(cq_func1('12a&bc12d-+'))

6.写一个函数,求多个数的平均值


def cq_average(*nums):
    sum1 = 0
    n = 0
    for num1 in nums:
        sum1 += num1
        n +=1
    return sum1/n


print(cq_average(1,2,3,4,5,6))

7.写一个函数,默认求10的阶乘,也可以求其他数字的阶乘


def cq_factorial(num = 10):
    factorial = 1
    for n in range(1,num+1):
        factorial *= n
    return factorial


print(cq_factorial(4))

== == == == == == == == == == =注意:以下方法不能使用系统提供的方法和函数,全部自己写逻辑 == == == == == == ==

8.写一个自己的capitalize函数,能够将指定字符串的首字母变成大写字母

例如: 'abc' -> 'Abc' '12asd' --> '12asd'

str1 ='abc'


def cq_capitalize(str1):
    if 'a' <= str1[0] <= 'z':
        char1 = chr(ord(str1[0])-32)
        str1 = char1 + str1[1::]
    print(str1)



cq_capitalize('abc')

9.写一个自己的endswith函数,判断一个字符串是否已指定的字符串结束

例如: 字符串1:'abc231ab'
字符串2: 'ab'
函数结果为: True
字符串1: 'abc231ab'
字符串2: 'ab1'
函数结果为: False

def cq_endswish(str1,str2):
    N = len(str2)
    str3 = str1[-N:]
    if str3 == str2:
        print(True)
    else:
        print(False)

cq_endswish('abc231ab','ab1')

10.写一个自己的isdigit函数,判断一个字符串是否是纯数字字符串

例如: '1234921'
结果: True
'23函数'
结果: False
'a2390'
结果: False


def cq_isdigit(str1):
    for char in str1:
        if not '0' <= char <= '9':
            print(False)
            break
    else:
        print(True)


cq_isdigit('12345647')

你可能感兴趣的:(day10作业1)