2301_81242121 2024-05-22 17:57 采纳率: 57.1%
浏览 6
已结题

关于#python#的问题:(规定A成绩大于等于90分、B成绩大于等于80分且小于90分、C成绩大于等于70分且小于80分、D成绩大于等于60分且小于70分、E成绩小于60分)(相关搜索:百分制成绩)

Python题目想问问怎么一次性输入这五个数字然后输出,试了好几次不行1.输入百分制成绩90,44、68;71:68,然后将其转换成ABCDE等级并输出。(规定A成绩大于等于90分、B成绩大于等于80分且小于90分、C成绩大于等于70分且小于80分、D成绩大于等于60分且小于70分、E成绩小于60分)。

grade=float(input('请输入成绩'))
if grade >= 90:
    print('A')
elif grade >= 80 and grade < 90:
    print('B')
elif grade >= 70 and grade < 80:
    print('C')
elif grade >= 60 and grade <70:
    print('D')
else:
    print('E')
input()


  • 写回答

2条回答 默认 最新

  • 专家-赤兔[在线] 优质创作者: 编程框架技术领域 2024-05-22 17:57
    关注

    引自免费微信小程序:皆我百晓生

    在您的代码基础上,您可以稍微修改一下,以便同时接收并处理多个成绩。这里是一个改进版的代码,可以接受任意数量的成绩输入,并为每个成绩计算对应的字母等级。

    def convert_to_grade(score):
        if score >= 90:
            return 'A'
        elif score >= 80:
            return 'B'
        elif score >= 70:
            return 'C'
        elif score >= 60:
            return 'D'
        else:
            return 'E'
    
    scores = input("请输入成绩,各成绩之间用逗号分隔:").split(',')
    grades = []
    
    for score in scores:
        try:
            score = float(score)
            grades.append(convert_to_grade(score))
        except ValueError:
            print(f"无效的分数: {score}")
    
    print("\n成绩对应等级:")
    for i, grade in enumerate(grades, start=1):
        print(f"{i}. {score}, 等级: {grade}")
    

    这段代码首先定义了一个函数convert_to_grade用于将单个成绩转换为其对应的字母等级。接着,它接收用户输入的一串由逗号分隔的成绩,然后对每个成绩进行处理。如果输入的是一个有效的分数,就将其转换为字母等级并添加到结果列表中。如果输入的不是有效的分数,则会提示错误信息。最后,程序会打印出所有成绩及其对应的字母等级。

    你可以这样运行这个程序:

    请输入成绩,各成绩之间用逗号分隔:90,44,68;71,68
    无效的分数: ;
    成绩对应等级:
    1. 90.0, 等级: A
    2. 44.0, 等级: E
    3. 68.0, 等级: D
    4. 71.0, 等级: C
    5. 68.0, 等级: D
    

    注意,在输入成绩时,确保没有多余的标点符号,例如分号;。只需用逗号 , 来分隔不同的成绩。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 5月30日
  • 已采纳回答 5月22日
  • 创建了问题 5月22日