首页 > 解决方案 > 当它应该实际输出成绩时,它继续输出“失败”

问题描述

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

解决方案


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

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")

推荐阅读