- 編寫函數(shù)灯节,求1+2+3+…N的和
def zh_sum(n: int):
count = 0
for i in range(n+1):
count += i
print("和:", count)
- 編寫一個函數(shù)汁掠,求多個數(shù)中的最大值
def zh_max(*nums: float):
print("最大值:", max(nums))
- 編寫一個函數(shù)史隆,實現(xiàn)搖骰子的功能魂务,打印N個骰子的點數(shù)和
from random import randint
def zh_dice(n: int):
count = 0
for _ in range(n):
num = randint(1, 6)
count += num
print("{}個骰子的點數(shù)和:{}".format(n, count))
- 編寫一個函數(shù),交換指定字典的key和value泌射。
例如:dict1={'a':1, 'b':2, 'c':3} --> dict1={1:'a', 2:'b', 3:'c'}
def zh_swap(dict1: dict):
new_dict = {}
for item in dict1:
value = dict1[item]
new_dict[value] = item
dict1 = new_dict
print(dict1)
- 編寫一個函數(shù)粘姜,提取指定字符串中所有的字母,然后拼接在一起產生一個新的字符串
例如: 傳入'12a&bc12d-+' --> 'abcd'
def zh_spl(str1: str):
new_str = ''
for item in str1:
if 'A' <= item <= 'Z' or 'a' <= item <= 'z':
new_str += item
print(new_str)
- 寫一個函數(shù)熔酷,求多個數(shù)的平均值
def zh_avg(*nums: float):
sum1 = sum(nums)
print("平均值:", sum1/len(nums))
- 寫一個函數(shù)孤紧,默認求10的階乘,也可以求其他數(shù)字的階乘
def zh_fac(n=10):
sum1 = 1
for i in range(1, n+1):
sum1 *= i
print(sum1)
- 寫一個自己的capitalize函數(shù)拒秘,能夠將指定字符串的首字母變成大寫字母
例如: 'abc' -> 'Abc' '12asd' --> '12asd'
def zh_capitalize(str1: str):
if 'a' <= str1[0] <= 'z':
str1 = chr(ord(str1[0]) - 32) + str1[1:]
print(str1)
- 寫一個自己的endswith函數(shù)号显,判斷一個字符串是否以指定的字符串結束
例如: 字符串1:'abc231ab' 字符串2:'ab' 函數(shù)結果為: True
def zh_endswith(str1: str, str2: str):
length = len(str2)
if len(str1) >= length:
if str1[-length:] == str2:
print('True')
else:
print('False')
else:
print('False')
- 寫一個自己的isdigit函數(shù),判斷一個字符串是否是純數(shù)字字符串
例如: '1234921' 結果: True
'23函數(shù)' 結果: False
'a2390' 結果: False
def zh_isdigit(str1: str):
for item in str1:
if not ('0' <= item <= '9'):
print("False")
break
else:
print("True")
- 寫一個自己的upper函數(shù)躺酒,將一個字符串中所有的小寫字母變成大寫字母
例如: 'abH23好rp1' 結果: 'ABH23好RP1'
def zh_upper(str1: str):
new_str1 = ''
for index in range(len(str1)):
if 'a' <= str1[index] <= 'z':
new_str1 += chr(ord(str1[index]) - 32)
else:
new_str1 += str1[index]
str1 = new_str1
print(str1)
- 寫一個自己的rjust函數(shù)押蚤,創(chuàng)建一個字符串的長度是指定長度,
原字符串在新字符串中右對齊羹应,剩下的部分用指定的字符填充
例如: 原字符:'abc' 寬度: 7 字符:'^' 結果: '^^^^abc'
原字符:'你好嗎' 寬度: 5 字符:'0' 結果: '00你好嗎'
def zh_rjust(str1: str, length: int, str2: str):
length1 = len(str1)
new_str1 = ''
for _ in range(length - length1):
new_str1 += str2
print(new_str1 + str1)
- 寫一個自己的index函數(shù)揽碘,統(tǒng)計指定列表中指定元素的所有下標,如果列表中沒有指定元素返回-1
例如: 列表: [1, 2, 45, 'abc', 1, '你好', 1, 0] 元素: 1 結果: 0,4,6
列表: ['趙云', '郭嘉', '諸葛亮', '曹操', '趙云', '孫權'] 元素: '趙云' 結果: 0,4
列表: ['趙云', '郭嘉', '諸葛亮', '曹操', '趙云', '孫權'] 元素: '關羽' 結果: -1
def zh_index(list1: list, item):
new_str = ''
for index in range(len(list1)):
if list1[index] == item:
new_str += str(index)
if len(new_str):
print(','.join(new_str))
else:
print(-1)
- 寫一個自己的len函數(shù)园匹,統(tǒng)計指定序列中元素的個數(shù)
例如: 序列:[1, 3, 5, 6] 結果: 4
序列:(1, 34, 'a', 45, 'bbb') 結果: 5
序列:'hello w' 結果: 7
def zh_len(sequence):
count = 0
for _ in sequence:
count += 1
print(count)
- 寫一個自己的max函數(shù)雳刺,獲取指定序列中元素的最大值。如果序列是字典裸违,取字典值的最大值
例如: 序列:[-7, -12, -1, -9] 結果: -1
序列:'abcdpzasdz' 結果: 'z'
序列:{'小明':90, '張三': 76, '路飛':30, '小花': 98} 結果: 98
def zh_max(sequence):
pass
if type(sequence) == dict:
sequence = list(sequence.values())
if type(sequence) == set:
sequence = list(sequence)
max1 = sequence[0]
for item in sequence:
if item > max1:
max1 = item
print(max1)
- 寫一個函數(shù)實現(xiàn)自己in操作掖桦,判斷指定序列中,指定的元素是否存在
例如: 序列: (12, 90, 'abc') 元素: '90' 結果: False
序列: [12, 90, 'abc'] 元素: 90 結果: True
def zh_in(sequence, element):
for item in sequence:
if item == element:
print("True")
break
else:
print("False")
- 寫一個自己的replace函數(shù)供汛,將指定字符串中指定的舊字符串轉換成指定的新字符串
例如: 原字符串: 'how are you? and you?' 舊字符串: 'you' 新字符串:'me' 結果: 'how are me? and me?'
def zh_replace(str1: str, str2: str, str3: str):
length = len(str2)
new_str1 = ''
index = 0
while index < len(str1):
if str1[index: index+length] == str2:
new_str1 += str3
index += length
else:
new_str1 += str1[index]
index += 1
print(new_str1)
- 寫四個函數(shù)滞详,分別實現(xiàn)求兩個列表的交集、并集紊馏、差集、對稱差集的功能
a.兩個列表的交
def zh_intersection(list1: list, list2: list):
new_list = []
for item in list1:
if item in list2:
if item not in new_list:
new_list.append(item)
print(new_list)
b.兩個列表的并集
def zh_union(list1: list, list2: list):
new_list = []
for item in list1:
if item not in new_list:
new_list.append(item)
for item in list2:
if item not in new_list:
new_list.append(item)
print(new_list)
c.兩個列表的差集
def zh_diff(list1: list, list2: list):
new_list = []
for item in list1:
if item not in list2:
new_list.append(item)
print(new_list)
d.兩個列表的對稱差集
def zh_com(list1: list, list2: list):
new_list = []
list_sum = list1 + list2
for item in list_sum:
if not (item in list1 and item in list2):
new_list.append(item)
print(new_list)
zh_com(list1, list2)