- 編寫函數(shù),求1+2+3+…N的和
def sum1(n):
"""
求1-n的和
:param n:
:return:
"""
summation = 0
for num in range(1, n + 1):
summation += num
return summation
print(sum1(10))
- 編寫一個(gè)函數(shù)鲜结,求多個(gè)數(shù)中的最大值
max_count = lambda numbers: max(numbers)
print(max_count([1, 2, 3, 4, 5]))
- 編寫一個(gè)函數(shù),實(shí)現(xiàn)搖骰子的功能活逆,打印N個(gè)骰子的點(diǎn)數(shù)和
import random
def dices(n):
"""
求幾個(gè)骰子點(diǎn)數(shù)的和
:param n: 骰子個(gè)數(shù)
:return:
"""
sum2 = 0
for num in range(1, n + 1):
point = random.randrange(1, 7)
print(point)
sum2 += point
return sum2
print(dices(3))
- 編寫一個(gè)函數(shù)精刷,交換指定字典的key和value。
def exchange(dic1):
"""
交換字典的鍵值
:return:
"""
dic2 = {}
for key, value in dic1.items():
key, value = value, key
dic2[key] = value
return dic2
dic3 = {'a': 1, 'b': 2, 'c': 3}
print(exchange(dic3))
- 編寫一個(gè)函數(shù)蔗候,提取指定字符串中所有的字母怒允,然后拼接在一起產(chǎn)生一個(gè)新的字符串
def make_string(str1):
"""
獲取字串串中的字母
:param str1:
:return:
"""
list1 = []
for char in str1:
if 'A' <= char <= 'Z' or 'a' <= char <= 'z':
list1.append(char)
str2 = ''.join(list1)
return str2
new_str = make_string('12a&bc12d-+')
print(new_str)
- 寫一個(gè)函數(shù),求多個(gè)數(shù)的平均值
avg = lambda numbers: sum(numbers) / len(numbers)
print(avg([1, 2, 3, 4, 5]))
- 寫一個(gè)函數(shù)锈遥,默認(rèn)求10的階乘纫事,也可以求其他數(shù)字的階乘
def factorial(n=10):
"""
求數(shù)字的階乘
:param n:
:return:
"""
sop = 1 # 定義一個(gè)變量sop保存乘積和
for num in range(1, n + 1):
sop *= num
return sop
print(factorial())
print(factorial(3))
- 寫一個(gè)自己的capitalize函數(shù)仰美,能夠?qū)⒅付ㄗ址氖鬃帜缸兂纱髮懽帜?/li>
def capitalize1(str1):
"""
將字符串的第一個(gè)字母大寫,其他字母小寫儿礼。若第一個(gè)不是字母咖杂,則不管,其他字母小寫
:param str1:
:return:
"""
str2 = ''
if 'a' <= str1[0] <= 'z':
str2 += chr(ord(str1[0]) - 32)
for index in range(1, len(str1)):
if 'A' <= str1[index] <= 'Z':
str2 += chr(ord(str1[index]) + 32)
else:
str2 += str1[index]
return str2
print(capitalize1('abcD'))
- 寫一個(gè)自己的endswith函數(shù)蚊夫,判斷一個(gè)字符串是否已指定的字符串結(jié)束
def endswith1(str1, str2, start=None, end=None):
if str2 == str1[start: end][-len(str2):]:
print(True)
else:
print(False)
str3 = 'abc231ab'
str4 = 'ab'
endswith1(str3, str4, 0, 2)
- 寫一個(gè)自己的isdigit函數(shù)诉字,判斷一個(gè)字符串是否是純數(shù)字字符串
def isdigit1(str5):
for char in str5:
if not '0'<= char <= '9':
print(False)
break
else:
print(True)
str6 = '1234a21'
isdigit1(str6)
- 寫一個(gè)自己的upper函數(shù),將一個(gè)字符串中所有的小寫字母變成大寫字母
def upper1(str1):
str2 = ''
for char in str1:
if 'a' <= char <= 'z':
new_char = chr(ord(char) - 32)
str2 += new_char
else:
str2 += char
return str2
str3 = 'abH23好rp1'
print(upper1(str3))
- 寫一個(gè)自己的rjust函數(shù)知纷,創(chuàng)建一個(gè)字符串的長度是指定長度壤圃,原字符串在新字符串中右對(duì)齊,剩下的部分用指定的字符填充
def rjust1(str1, width, fillchar=' '):
str2 = ''
if len(str1) > width:
return str1
else:
str2 = fillchar * (width - len(str1)) + str1
return str2
str3 = 'abc'
print(rjust1(str3, 7, '*'))
- 寫一個(gè)自己的index函數(shù)琅轧,統(tǒng)計(jì)指定列表中指定元素的所有下標(biāo)伍绳,如果列表中沒有指定元素返回-1
def index1(list1, item, start=None, end=None):
list2 = []
for index in range(len(list1)):
if list1[index] == item:
list2.append(index)
if len(list2) > 0:
return list2
else:
return -1
list3 = [1, 2, 45, 'abc', 1, '你好', 1, 0]
print(index1(list3, 1))
- 寫一個(gè)自己的len函數(shù),統(tǒng)計(jì)指定序列中元素的個(gè)數(shù)
def len1(iterable):
count = 0
for item in iterable:
count += 1
return count
iterable1 = [1, 3, 5, 6]
print(len1(iterable1))