python编程题-输出学生考试成绩

随机生成100个学生的姓名、考试成绩(0-100),按照由高到低的顺序进行排序,然后将百分制成绩转换为"优秀、良好、中等、及格、不及格",输出结果。要求:
封装三个子函数,功能分别如下:
(1)随机生成100个学生的姓名、考试成绩。并在屏幕上输出。
(2)对成绩进行排序,最好用选择法或冒泡法自己完成排序(保证姓名与成绩的一致性)。
(3)百分制成绩转换为五级制成绩,入口参数:百分制成绩,返回值:五级制成绩。.

代码:

import random
import string

# (1) 随机生成100个学生的姓名、考试成绩。并在屏幕上输出。
def generate_students(num_students=100):
    students = {}
    for _ in range(num_students):
        name = ''.join(random.choices(string.ascii_uppercase + string.ascii_lowercase, k=5))
        score = random.randint(0, 100)
        students[name] = score
    return students

# (2) 对成绩进行排序,最好用选择法或冒泡法自己完成排序(保证姓名与成绩的一致性)。
def sort_students(students):
    sorted_students = {k: v for k, v in sorted(students.items(), key=lambda item: item[1], reverse=True)}
    return sorted_students

# (3) 百分制成绩转换为五级制成绩,入口参数:百分制成绩,返回值:五级制成绩。
def convert_score(score):
    if score >= 90:
        return '优秀'
    elif score >= 80:
        return '良好'
    elif score >= 70:
        return '中等'
    elif score >= 60:
        return '及格'
    else:
        return '不及格'

# 主函数
def main():
    students = generate_students()
    print("生成的学生和他们的成绩:", students)
    sorted_students = sort_students(students)
    print("排序后的学生和他们的成绩:", sorted_students)
    for student, score in sorted_students.items():
        print(f"学生 {student} 的成绩是 {score},等级是 {convert_score(score)}")

# 运行主函数
if __name__ == "__main__":
    main()

运行结果:

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值