实际应输出成绩时会继续输出“ Fail”

问题描述 投票:0回答:2
test_1 = int(input("Please enter the score for test 1  /100:"))
test_2 = int(input("Please enter the score for test 2  /100:"))
test_3 = int(input("Please enter the score for test 3  /100:"))
test_4 = int(input("Please enter the score for test 4  /100:"))
test_5 = int(input("Please enter the score for test 5  /100:"))

total = test_1 + test_2 + test_3 + test_4 + test_5
average = total/5

print ("The total score is", total)
print ("The average score is", average)

if average < 90 and average >= 100:
    print ("Grade 9 achieved")
elif average < 80 and average >= 90:
    print ("Grade 8 achieved")
elif average < 70 and average >= 80:
    print ("Grade 7 achieved")
elif average < 60 and average >= 70:
    print ("Grade 6 achieved")
elif average < 50 and average >= 60:
    print ("Grade 5 achieved")
elif average < 40 and average >= 50:
    print ("Grade 4 achieved")
elif average < 30 and average >= 40:
    print ("Grade 3 achieved")
elif average < 20 and average >= 30:
    print ("Grade 2 achieved")
elif average < 10 and average >= 20:
    print ("Grade 1 achieved")
else:
    print ("Fail")

我的代码运行得很好,除了它的每次运行,即使平均分数高于10,它也会输出Fail。

python
2个回答
0
投票

您的if链应更改为:1.逻辑上正确。 2.利用以前的if

if average >= 90:
    print ("Grade 9 achieved")
elif average >= 80:
    print ("Grade 8 achieved")
elif average >= 70:
    print ("Grade 7 achieved")
elif average >= 60:
    print ("Grade 6 achieved")
elif average >= 50:
    print ("Grade 5 achieved")
elif average >= 40:
    print ("Grade 4 achieved")
elif average >= 30:
    print ("Grade 3 achieved")
elif average >= 20:
    print ("Grade 2 achieved")
elif average >= 10:
    print ("Grade 1 achieved")
else:
    print ("Fail")
© www.soinside.com 2019 - 2024. All rights reserved.