- 编写一个函数,求1+2+3+...+N
def sum_n(n:int):
s = 0
for i in range(1,n+1):
s += i
return s
print(sum_n(10))
'''
结果:55
'''
- 编写一个函数,求多个数中的最大值
def the_max_num(*numbers):
return list(numbers).sort()[-1]
print(the_max_num(10,1,8,9,7,20,21,0))
'''
结果:21
'''
- 编写一个函数,实现摇色子的功能,打印n个色子的点数和
import random
def roll_the_dice(n):
s = 0
i = 0
while i<n:
s += random.randint(1,6)
i += 1
return s
for _ in range(10):
print(roll_the_dice(5))
'''
结果:
8
21
21
21
15
11
24
19
10
10
'''
- 编写一个函数,交换指定字典的key和value。
例如:{'a':1, 'b':2, 'c':3} ---> {1:'a', 2:'b', 3:'c'}
def swap_dict(dic:dict):
lst_key=[]
lst_value=[]
for key in dic:
lst_key.append(key)
lst_value.append(dic[key])
dic.clear()
i = 0
while i<len(lst_key):
dic[lst_value[i]]=lst_key[i]
i += 1
return dic
print(swap_dict({'a':1,'b':2,'c':3}))
'''
结果:
{1: 'a', 2: 'b', 3: 'c'}
'''
- 编写一个函数,三个数中的最大值
def three_max(num1:int,num2:int,num3:int):
lst = []
lst.append(num1)
lst.append(num2)
lst.append(num3)
lst.sort()
return lst[-1]
print(three_max(7,10,8))
'''
结果:
10
'''
- 编写一个函数,提取指定字符串中的所有的字母,然后拼接在一起后打印出来 例如:'12a&bc12d--' ---> 打印'abcd'
def print_chars(str1:str):
lst = list(str1)
for c in lst:
if c >= 'a' and c <= 'z' or c >= 'A' and c <= 'Z':
print(c,end='')
print()
print_chars('12a&bc12d--')
'''
结果:abcd
'''
- 写一个函数,求多个数的平均值
def avg_numbers(*numbers):
length = len(numbers)
s = 0
for number in numbers:
s += number
return s/length
print(avg_numbers(10,7,5,2,7,5))
'''
结果:6.0
'''
- 写一个函数,默认求10的阶层,也可以求其他数的阶层
def get_even_number(n=10):
s = 1
for i in range(1,n+1):
s *= i
return s
print(get_even_number())
print(get_even_number(12))
'''
结果:
3628800
479001600
'''
- 写一个函数,可以对多个数进行不同的运算
例如: operation('+', 1, 2, 3) ---> 求 1+2+3的结果 operation('-', 10, 9) ---> 求 10-9的结果 operation('*', 2, 4, 8, 10) ---> 求 2*4*8*10的结构
def cal_select(mode:str,*numbers):
s = 0
i = 0
if mode=='+':
for num in numbers:
s += num
elif mode=='-':
while i < len(numbers):
if not i:
s = numbers[i]
i += 1
continue
s -= numbers[i]
i += 1
elif mode=='*':
s = 1
for num in numbers:
s *= num
return s
print(cal_select('*',10,9,1))
print(cal_select('+',10,9,1))
print(cal_select('-',10,9,1))
'''
结果:
90
20
0
'''