1、定义一个函数 cubic(n),该函数返回 1~n 的立方和。
def cubic(n):
sum = 0
for i in range(1,n+1):
sum = i**3 + sum
return sum
n = int(input())
print(cubic(n))
2、定义一个函数,该函数返回 n 项的阶乘和,即为1!+2!+…+n!。
def factorial(n):
a = 1
sum = 0
for i in range(1,n+1):
a = a * i
sum+=a
return sum
n = int(input())
print(factorial(n))
3、定义一个函数,该函数接受一个列表list作为参数,用于去除list中重复的元素。
def delete(source_list):
new_list = list({}.fromkeys(source_list).keys())
return new_list
length = int(input("请输入列表的长度:"))
list1 = []
for i in range(length):
list1.append(input("请输入:"))
print("过滤前:" , list1)
print("过滤后:" , delete(list1))
4、编写一个函数 change(str1),其功能是对参数 str1 进行大小写转换, 将大写字母转换为小写字母;小写字母转换为大写字母;非英文字符不转换。
def change(str1):
new_str = str()
for i in range(len(str1)):
if(65 <= ord(str1[i]) <= 90):
a = str1[i].lower()
print(a,end='')
elif(97 <= ord(str1[i]) <= 122):
a = str1[i].upper()
print(a,end='')
else:
a = str1[i]
print(a,end='')
return new_str
str2 = str(input("要转换的字符串:"))
print(change(str2))
5、编写函数,计算某班级学生考试的平均分。
要求:(1)班级共 10 人,计算平均分时可以根据全部人数或者实际参加考试人数计算。
(2)完成 avgScore()函数。
01 #demo0503.py
02 def avgScore(scores,n=10):
03 ……
……
07 #主程序
08 scores=[90,88,76,45,77,95,66,88,91]
09 print(“按班级人数计算的平均值:{:.2f}”.format(avgScore(scores)))
10 print(“按考试人数计算的平均值:{:.2f}”.format(avgScore(scores,len(scores))))
提示:(1)定义函数 avgScore()时,参数 n 为默认参数,其默认值为 10。在调用函数 avgScore()时,如果没有传入 n 的实参,则 n 取默认值;如果传入 n 的实参,则函数会使用传递给 n的新值。
函数 avgScore()用于计算考试成绩的平均分,接收列表类型的参数 scores,遍历列表 scores,计算元素的累加和 s,返回 s/n 的值。
def avgScore(scores,n=10):
s = 0
for i in range(len(scores)):
s += scores[i]
return s/n
scores = [90,88,76,45,77,95,66,88,91]
print("按班级人数计算的平均值:{:.2f}".format(avgScore(scores)))
print("按考试人数计算的平均值:{:.2f}".format(avgScore(scores, len(scores))))