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