python - 当它应该实际输出成绩时,它继续输出“失败”
问题描述
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。
解决方案
您的 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")
推荐阅读
- javascript - 创建具有附加属性和时刻的工作日数组
- javascript - 如何使用支持 IE11 的 babel 启用 async/await
- sql - Oracle SQL - 字段名称中的转义与符号
- signalr - 如何将消息从 js 库发送到 Azure SignalR Serverless 中的组
- javascript - 可以在 iframe 中发出 requestFullscreen ()
- modbus - 有一些 R444A01 modbus rtu 协议
- php - SQLSTATE[HY000]:一般错误:1364 字段“parent_id”没有默认值
- html - 我第一次打开网站时看到的故障有什么解决方案吗?
- css - 使用 Flexbox 时隐藏伪元素后
- ios - UIView 没有正确更新