1. 編寫函數(shù)洒宝,求1+2+3+…N的和
def sum_01(*nums):
temp = 0
temp += sum(nums)
return temp
sum_01(1, 2, 3, 4)
2. 編寫一個函數(shù)扶镀,求多個數(shù)中的最大值
def max_01(*nums):
temp = 0 #temp = num[0]這個時候不應(yīng)該取固定值凿傅,應(yīng)該從序列中取值
for num in nums:
if num >= temp:
temp = num
return temp
max_01(1, 3, 6, 125, 15)
3. 編寫一個函數(shù)缠犀,實(shí)現(xiàn)搖骰子的功能,打印N個骰子的點(diǎn)數(shù)和
def dice():
num = random.randint(1, 6)
return num
N = int(input('請輸入骰子個數(shù)'))
sumn1 = 0
for n in range(N):
sumn1 += dice()
# print(sumn) 輸出每次總和
return sumn1
4. 編寫一個函數(shù)聪舒,交換指定字典的key和value辨液。
def change(dic1: dict):
dic2 = {}
for key in dic1:
dic2.setdefault(dict1[key], key)
dic1 = dic2
print(dic1)
dict1 = {'a': 1, 'b': 2, 'c': 3}
change(dict1)
注意:遍歷刪除和增加,遍歷對象應(yīng)該原來沒有進(jìn)行修改的原容器的值
5. 編寫一個函數(shù)箱残,提取指定字符串中所有的字母滔迈,然后拼接在一起產(chǎn)生一個新的字符串
def letter_01(str1):
str2 = ''
for i in str1:
if 'a' <= i <= 'z' or 'A' <= i <= 'Z':
str2 += i
print(str2)
letter_01(input('請輸入一個字符串'))
6. 寫一個函數(shù),求多個數(shù)的平均值
def avg_01(*nums):
sum1 = 0
for i in nums:
sum1 += i
avg1 = sum1 / len(nums)
print(avg1)
avg_01(1, 2, 3)
7. 寫一個函數(shù)被辑,默認(rèn)求10的階乘燎悍,也可以求其他數(shù)字的階乘
def fac_01(b=10):
mul = 1
for x in range(1, b + 1):
mul *= x
print(mul)
fac_01(4)
8. 寫一個自己的capitalize函數(shù),能夠?qū)⒅付ㄗ址氖鬃帜缸兂纱髮懽帜?/h1>
def capitalize_01(str1):
str2 = ''
if 'a' <= str1[0] <= 'z':
str2 += chr(ord(str1[0]) - 32)
else:
str2 += str1[0]
for x in range(1, len(str1)):
str2 += str1[x]
print(str2)
capitalize_01(input('請輸入一個字符串'))
9. 寫一個自己的endswith函數(shù)盼理,判斷一個字符串是否以指定的字符串結(jié)束
def ends(str1, str2):
# str1為輸入字符串谈山,str2為結(jié)尾字符串
count = 0
for x1 in str2[::-1]:
if x1 == str1[-1 - count]:
count += 1
else:
return 'false'
return 'true'
print(ends(input('輸入字符串'), input('輸入指定結(jié)尾字符串')))
10. 寫一個自己的isdigit函數(shù),判斷一個字符串是否是純數(shù)字字符串
def isdigit_01(str1):
for item in str1:
if '0' <= item <= '9':
pass
else:
return 'false'
return 'true'
print(isdigit_01(input('請輸入一個字符串宏怔,判斷是否全是數(shù)字')))
11. 寫一個自己的upper函數(shù)奏路,將一個字符串中所有的小寫字母變成大寫字母
def upper_01(str1):
str2 = ''
for item in str1:
if 'a' <= item <= 'z':
str2 += chr(ord(item) - 32)
else:
str2 += item
return str2
print(upper_01(input('請輸入一個字符串')))
12. 寫一個自己的rjust函數(shù)抗蠢,創(chuàng)建一個字符串的長度是指定長度,原字符串在新字符串中右對齊思劳,剩下的部分用指定的字符填充
def rj_01(str1, int1, char1):
str2 = ''
if len(str1) >= int1:
return str1
else:
for item in str1[::-1]:
str2 += item
str2 += (int1 - len(str1)) * char1
str3 = ''
for item1 in str2[::-1]:
str3 += item1
return str3
print(rj_01(input('輸入字符串'), int(input('輸入需要長度')), input('輸入需要填充的字符')))
13. 寫一個自己的index函數(shù),統(tǒng)計(jì)指定列表中指定元素的所有下標(biāo)妨猩,如果列表中沒有指定元素返回-1
def index_01(list1, str2): # 不規(guī)定類型潜叛,就可以隨便輸入類型了
if str2 in list1:
for index in range(len(list1)):
if str2 == list1[index]:
print(index, end=',')
print()
else:
print('-1')
index_01([1, 2, 45, 'abc', 1, '你好', 1, 0], 1) # 0,4,6,
index_01(['趙云', '郭嘉', '諸葛亮', '曹操', '趙云', '孫權(quán)'], '趙云') # 0,4
index_01(['趙云', '郭嘉', '諸葛亮', '曹操', '趙云', '孫權(quán)'], '關(guān)羽') # -1
14.寫一個自己的len函數(shù),統(tǒng)計(jì)指定序列中元素的個數(shù)
def len_01(a):
sum1 = 0
for _ in a:
sum1 += 1
return sum1
b = len_01('hello w')
c = len_01([1, 3, 5, 6])
d = len_01((1, 34, 'a', 45, 'bbb'))
print(b, c, d)
15.寫一個自己的max函數(shù)壶硅,獲取指定序列中元素的最大值威兜。如果序列是字典,取字典值的最大值
序列:[-7, -12, -1, -9] 結(jié)果: -1
序列:'abcdpzasdz' 結(jié)果: 'z'
序列:{'小明':90, '張三': 76, '路飛':30, '小花': 98} 結(jié)果: 98
def max_01(a):
if isinstance(a, dict): # isinstance() 判斷是否是字典 是就返回True
max_count1 = a.popitem()[-1] # 字典.popitem 隨即從字典中取出一個鍵值對庐椒,取出的形式為元祖(key,value)
for key in a:
if a[key] > max_count1:
max_count1 = a[key]
return max_count1
else:
max_count = a[0] # 隨便取出序列的一個數(shù)(這里取的第一個)椒舵,循環(huán)序列,讓這個數(shù)和序列中的每一個數(shù)作比較约谈,比這個數(shù)大就交換
for item in a:
if item > max_count:
max_count = item
return max_count
b = max_01([-7, -12, -1, -9])
c = max_01('abcdpzasdz')
d = max_01({'小明': 90, '張三': 76, '路飛': 30, '小花': 98})
print(b, c, d) # -1 z 98
16.寫一個函數(shù)實(shí)現(xiàn)自己in操作笔宿,判斷指定序列中,指定的元素是否存在
def in_01(a, b):
for item in a:
if item == b:
print('True')
break
else:
print('False')
in_01((12, 90, 'abc'), '90') # False
in_01((12, 90, 'abc'), 90) # True
def capitalize_01(str1):
str2 = ''
if 'a' <= str1[0] <= 'z':
str2 += chr(ord(str1[0]) - 32)
else:
str2 += str1[0]
for x in range(1, len(str1)):
str2 += str1[x]
print(str2)
capitalize_01(input('請輸入一個字符串'))
def ends(str1, str2):
# str1為輸入字符串谈山,str2為結(jié)尾字符串
count = 0
for x1 in str2[::-1]:
if x1 == str1[-1 - count]:
count += 1
else:
return 'false'
return 'true'
print(ends(input('輸入字符串'), input('輸入指定結(jié)尾字符串')))
def isdigit_01(str1):
for item in str1:
if '0' <= item <= '9':
pass
else:
return 'false'
return 'true'
print(isdigit_01(input('請輸入一個字符串宏怔,判斷是否全是數(shù)字')))
def upper_01(str1):
str2 = ''
for item in str1:
if 'a' <= item <= 'z':
str2 += chr(ord(item) - 32)
else:
str2 += item
return str2
print(upper_01(input('請輸入一個字符串')))
def rj_01(str1, int1, char1):
str2 = ''
if len(str1) >= int1:
return str1
else:
for item in str1[::-1]:
str2 += item
str2 += (int1 - len(str1)) * char1
str3 = ''
for item1 in str2[::-1]:
str3 += item1
return str3
print(rj_01(input('輸入字符串'), int(input('輸入需要長度')), input('輸入需要填充的字符')))
def index_01(list1, str2): # 不規(guī)定類型潜叛,就可以隨便輸入類型了
if str2 in list1:
for index in range(len(list1)):
if str2 == list1[index]:
print(index, end=',')
print()
else:
print('-1')
index_01([1, 2, 45, 'abc', 1, '你好', 1, 0], 1) # 0,4,6,
index_01(['趙云', '郭嘉', '諸葛亮', '曹操', '趙云', '孫權(quán)'], '趙云') # 0,4
index_01(['趙云', '郭嘉', '諸葛亮', '曹操', '趙云', '孫權(quán)'], '關(guān)羽') # -1
def len_01(a):
sum1 = 0
for _ in a:
sum1 += 1
return sum1
b = len_01('hello w')
c = len_01([1, 3, 5, 6])
d = len_01((1, 34, 'a', 45, 'bbb'))
print(b, c, d)
def max_01(a):
if isinstance(a, dict): # isinstance() 判斷是否是字典 是就返回True
max_count1 = a.popitem()[-1] # 字典.popitem 隨即從字典中取出一個鍵值對庐椒,取出的形式為元祖(key,value)
for key in a:
if a[key] > max_count1:
max_count1 = a[key]
return max_count1
else:
max_count = a[0] # 隨便取出序列的一個數(shù)(這里取的第一個)椒舵,循環(huán)序列,讓這個數(shù)和序列中的每一個數(shù)作比較约谈,比這個數(shù)大就交換
for item in a:
if item > max_count:
max_count = item
return max_count
b = max_01([-7, -12, -1, -9])
c = max_01('abcdpzasdz')
d = max_01({'小明': 90, '張三': 76, '路飛': 30, '小花': 98})
print(b, c, d) # -1 z 98
def in_01(a, b):
for item in a:
if item == b:
print('True')
break
else:
print('False')
in_01((12, 90, 'abc'), '90') # False
in_01((12, 90, 'abc'), 90) # True