python设计一个函数MyFun完成分数评级功能案例代码

题目描述

(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
喜欢就支持一下吧
点赞11赞赏 分享