day8-函数-homework

1.编写一个函数,求1+2+3...+N

def sum2(maxinum:int): #参数为最后一位数
    list1 = [x for x in range(1,maxinum+1)]
    sum2 = sum(list1)
    return sum2
print(sum2(5))

result:
15

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

def get_maxinum(*seq): #*seq表示元组
    list1 = list(seq)
    list1.sort()
    return list1[-1]

print(get_maxinum(1,5,2,1,90,9))

result:
90

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

import random
def play_dice(num):
    list1 = []
    count = 0
    for n in range(num):
        number = random.randint(1,6)
        list1.append(number)
        count += number
    print('摇色字点数情况:',list1)
    return count
print('骰子的点数和: %d' % play_dice(6))

result:
摇色字点数情况: [3, 1, 3, 5, 4, 2]
骰子的点数和: 18

4.编写一个函数,交换指定字典的key和value。例如:{'a':1,'b':2,'c':3} ---> {1:'a',2:'b',3:'c'}

def exchange_key_value(dict1):
    dict2 = {}
    for n in dict1:
        dict2[dict1[n]] = n
    return dict2
dict1 = {'a':1,'b':2,'c':3}
print(exchange_key_value(dict1))

result:
{1: 'a', 2: 'b', 3: 'c'}

5.编写一个函数,三个数中最大值

def maxinum2(list1):
    list1.sort()
    return list1[-1]
list1 = [20,8,15]
print(maxinum2([20,8,15]))

result:
20

6.编写一个函数,提取指定字符串中的所有字母,然后拼接在一起打印出来。例如:'12a&bc12d--' --> 打印'abcd'

def get_alphabet(str1:str):
    str2 = ''
    for item in str1[:]:
        if item <= 'z' and item >= 'a' or item <= 'Z' and item >= 'A':
            str2 += item
    return str2
str2 = '12a&bc12d--'
print(get_alphabet(str2))

result:
abcd

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

def avarage(*seq): #*seq表示一个元组的数据 此时输入的时候直接输入数据就是元组,若输入元组,就会成为元组的一个子项元组
    sum1 = 0
    for item in seq[:]:
        sum1 += item
    return sum1/len(seq)
print(avarage(1,5,2,6,9))

result:
4.6

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

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

result:
3628800
39916800

9.写一个函数,可以对多个数进行不同的运算

def operation(str1,*number):
    count = 0
    count2 = 1
    if str1 == '+':
        for n in number[:]:
            count += n
        return count
    elif str1 == '-':
        count = number[0]
        for n in number[1:]:
            count -= n
        return count
    elif str1 == '*':
        for n in number[:]:
            count2 *= n
        return count2
    elif str1 == '/':
        count2 = number[0] / number[1]
        return count2
    elif str1 == '**':
        count2 = number[0]**number[1]
        return count2
    elif str1 == '//':
        count2 = number[0] // number[1]
        return count2
    elif str1 == '%':
        count2 = number[0] % number[1]
        return count2
    else:
        print('不支持这种运算符')
print(operation('+',2,3,5,6))
print(operation('-',2,3,5,6))
print(operation('*',2,3,5,2))
print(operation('/',2,3))
print(operation('//',2,3))
print(operation('**',2,3))
print(operation('%',2,3))

result:
16
-12
60
0.6666666666666666
0
8
2

你可能感兴趣的:(day8-函数-homework)