题目描述
(1)设计一个函数MyFun(a,b=5)。其中,a是一个列表,存储一个班级的成绩;b的值是5,分别指示MyFun返回优,良,中,及格和不及格的人数。
(2)编写主程序。随机产生30个同学的成绩(0~100之间)放入列表a中,分别使用位置参数,关键字参数,默认值参数三种方式调用函数MyFun。
输出要求:
5个数,调用MyFun返回优,良,中,及格和不及格的人数,数字之间用空格隔开。
其中优的人数使用默认参数,良的人数使用关键字参数,中,及格和不及格的人数使用位置参数
案例代码:
import random
def MyFun(a, b=5):
excellent_count = 0
good_count = 0
medium_count = 0
pass_count = 0
fail_count = 0
for score in a:
if score >= 90:
excellent_count += 1
elif score >= 80:
good_count += 1
elif score >= 70:
medium_count += 1
elif score >= 60:
pass_count += 1
else:
fail_count += 1
# 返回不同等级的人数
return excellent_count, good_count, medium_count, pass_count, fail_count
def main():
# 随机生成30个学生成绩
scores = [random.randint(0, 100) for _ in range(30)]
# 使用默认参数调用 MyFun
result1 = MyFun(scores)
# 使用关键字参数调用 MyFun
result2 = MyFun(scores, b=5)
# 使用位置参数调用 MyFun
result3 = MyFun(scores, 5)
# 输出结果
print(f"{result1[0]} {result2[1]} {result3[2]} {result3[3]} {result3[4]}")
if __name__ == "__main__":
main()
这个程序首先定义了一个名为 MyFun
的函数,该函数接收一个列表 a
(存储班级成绩)和一个可选的参数 b
(默认值为 5
),用于统计不同成绩等级的人数。根据成绩范围,统计优(90分及以上)、良(80-89分)、中(70-79分)、及格(60-69分)和不及格(60分以下)的人数,并将这些人数作为元组返回。
然后,在 main
函数中,随机生成了30个学生成绩,然后使用三种不同方式调用 MyFun
函数,分别输出优、良、中、及格和不及格的人数。其中使用默认参数、关键字参数和位置参数来调用 MyFun
,以满足题目要求。
© 版权声明
本站资源来自互联网收集,仅供用于学习和交流,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。敬请谅解!
THE END