1.編寫一個(gè)函數(shù)亡电,求1+2+3+···+N
def my_sum(N):
my_list = []
for num in range(N):
my_list.append(num+1)
return sum(my_list)
print('1+2+3+···+N的和為:%d' % (my_sum(6)))
2.編寫一個(gè)函數(shù),求多個(gè)數(shù)中的最大值
def my_max(*num):
return max(*num)
print('最大值為:%d' % my_max(12,13,14,15,2,21,99,87))
print('最大值為:%d' % my_max(1,2,3,4,5))
3.編寫一個(gè)函數(shù)锁保,實(shí)現(xiàn)搖色子的功能除抛,打印n個(gè)色子的點(diǎn)數(shù)和
import random
def my_dice(N):
sum = 0
for _ in range(N):
num = random.randint(1,6)
print('每次色子的點(diǎn)數(shù):%d' % (num))
sum += num
return sum
print('n次色子的點(diǎn)數(shù)和:%d' % (my_dice(5)))
4.編寫一個(gè)函數(shù)狮杨,交換指定字典的key和value
def my_exchange(dict_exchange:dict):
for key in dict_exchange:
key_exchange = key
value = dict_exchange[key]
del dict_exchange[key] # 為什么不能直接添加鍵值對(duì),
# 報(bào)錯(cuò)RuntimeError: dictionary changed size during iteration到忽,說(shuō):字典在迭代過(guò)程中改變了大小
dict_exchange[value] = key_exchange
return dict_exchange
print(my_exchange({'a':1, 'b':2, 'c':3,'d':4})) # 成功橄教,但是加了'd':4就失敗
print(my_exchange({'Q':'q', 'W':'w', 'E':'e', 'R':'r'})) # 對(duì)換失敗,遍歷key時(shí)喘漏,新的key又被遍歷
# 因?yàn)樵值湓诒闅v過(guò)程中被改變了鍵值對(duì)护蝶,所以會(huì)遍歷失敗,和remove一個(gè)道理陷遮,因此滓走,創(chuàng)建一個(gè)新字典垦江,添加新的鍵值對(duì)
def my_exchange(dict_exchange:dict):
new_dict_exchange = {}
for key in dict_exchange:
key_exchange = key
value = dict_exchange[key]
# del dict_exchange[key] # 為什么不能直接添加鍵值對(duì)帽馋,報(bào)錯(cuò)RuntimeError: dictionary changed size during iteration
new_dict_exchange[value] = key_exchange
return new_dict_exchange
print(my_exchange({'a':1, 'b':2, 'c':3,'d':4}))
print(my_exchange({'Q':'q', 'W':'w', 'E':'e', 'R':'r'}))
5.編寫一個(gè)函數(shù),求三個(gè)數(shù)中的最大值
def my_max(a, b, c):
return max(a, b, c)
print(my_max(99, 123, 19))
6.編寫一個(gè)函數(shù)比吭,提取指定字符串中的所有的字母绽族,然后拼接在一起后打印出來(lái)
def my_str(str1:str):
list1 = []
for item in str1:
if 'a' <= item <='z' or 'A' <= item <='Z':
list1.append(item)
return ''.join(list1) # return 前面的縮進(jìn)很重要,放在不同的位置衩藤,返回值不同
print(my_str('231ji2ds12aj12'))
7.編寫一個(gè)函數(shù)吧慢,求多個(gè)數(shù)的平均值
def my_average(*num): # num = (1,2,3,4,5) 是個(gè)元組
return sum(num)/len(num)
print(my_average(10, 2, 30, 4, 50))
8.編寫一個(gè)程序,默認(rèn)求10的階乘赏表,也可以求其他數(shù)的階乘
def my_factorial(num=10):
sum = 1
for item in range(1,num+1):
sum *= item
return sum
print(my_factorial())
9.編寫一個(gè)程序检诗,可以對(duì)多個(gè)數(shù)進(jìn)行不同的運(yùn)算
def my_operation(way,*num):
if str(way) == '+':
return sum(num)
elif str(way) == '-':
return num[0] - num[1]
elif str(way) == '*':
number = 1
for item in num:
number *= item
return number
print(my_operation('+', 100, 200, 300))
print(my_operation('-', 100, 39))
print(my_operation('*', 5, 4, 3, 2, 1))