Python分级程序

2024-03-28 10:08:55 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我需要制作一个程序,给10个学生单独打分,然后显示所有10个学生的平均分数

我认为评分应该是这样的,但我不确定如何设置评分次数的计数,或者如何设置平均值函数。非常欢迎帮助。我是个可怕的程序员

score = int(input("Enter a score between 0 and 100: "))
if score >=89:
    print("The grade is an A")
elif score>=79:
    print("The grade is a B")
elif score>=69:
    print("The grade is a C")
elif score>=59:
    print("The grade is a D")
else:
    print("The grade is a F")

Tags: the函数程序is评分次数学生分数
3条回答

您可以尝试使用0-9之间的计数器变量,并使用while循环检查和增加计数器值,在每个循环计算平均值后,继续执行此操作,直到输入最后一个值

Counter = 0
average = 0
while (Counter <= 10):
    score = int(input("Enter a score between 0 and 100: "))
    if score >= 89:
        print("The grade is an A")
    elif score >= 79:
        print("The grade is a B")
    elif score >= 69:
        print("The grade is a C")
    elif score >= 59:
        print("The grade is a D")
    else:
        print("The grade is a F")
    Counter = Counter + 1
    average = (score + average)
average  = average/Counter

print("Average of all 10 students:",average)

因此,现在代码只针对10个循环进行了专门配置,但是您可以通过建议一个值来结束循环,而while循环将检查该值,当循环看到该值时,它将退出循环并给出一个值,从而让用户能够确定这一点

此外,每个循环都有一个不断增加的计数器值和一个平均值,该平均值保存输入值的总和,当循环退出时,通过将总和除以计数器来计算平均值,从而得出结果

您可以定义一个查找平均分数的函数。将所有分数存储在一个列表中,然后将该列表作为参数传递到函数中

def avg(scores): #assuming scores is the name of the list
    avg = sum(scores)/len(scores) 
    return "Average score is {}".format(avg)

或 对于python3,返回f'平均分数为{avg}'

我不知道你所说的评分次数是什么意思,但我认为你可以包括一个while循环和一个变量,每次评分增加1

这应该能奏效

total = 0
for i in range(10):
    score = int(input("Enter a score between 0 and 100: "))
    if score >= 89:
        print("The grade is an A")
    elif score >= 79:
        print("The grade is a B")
    elif score >= 69:
       print("The grade is a C")
    elif score >= 59:
        print("The grade is a D")
    else:
        print("The grade is a F")
    total += score

print("Average of all 10 students:", total/10)

for循环中,您获得每个学生的分数,然后将其添加到所有学生的总数中。循环结束后,将其除以学生总数,因此10

total score / total number of studentstotal / 10

相关问题 更多 >