首页 > 解决方案 > 如何用 Python 制作成绩计算器

问题描述

我是 python 的初学者,我正在处理这个项目,该项目将打印学生的结果。除了百分比之外,我几乎完成了所有事情。看,在我的代码中,程序只会打印最后一个人的分数的百分比.我需要让它单独计算每个人的百分比,然后在最后打印出来。非常感谢您的帮助。谢谢

T_marks = 1100
data = {}
while True:
    ask = input("What do you want? ")
    if ask == "y":
        name = input("Enter your name: ")
        marks = int(input("Enter marks: "))
        data[name] = marks
        percentage =(marks / T_marks) * 100
    elif ask == "print":
        for (key,value) in data.items():
            print(key,"::",value)
            if percentage > 90:
                print("Passed with A grade")
            elif percentage >= 70 and percentage < 90:
                print("Passed with B grade")
            elif percentage >= 60 and percentage < 70:
                print("Passed with C grade")
            elif percentage >= 50 and percentage < 60:
                print("passed with D Grade")
            else:
                print("You failed")
    else:
        print("Your work has ended")
        break

标签: pythonpython-3.xdictionaryfor-loopwhile-loop

解决方案


input()方法读取一个字符串,但您不能将例如转换"4 4 4 5"为 int。不带参数的方法split()创建字符串中的单词列表,如下所示:

"4 5 5" -> ["4", "5", "5"]

将您的输入更改为:

marks_string = input("Enter marks: ")
marks = [int(mark) for mark in marks_string.split()]  # convertion to int

并改变百分比的计算:

percentage =(sum(marks) / T_marks) * 100

推荐阅读