我想要获得的期望输出是" B"输入.85获得分数。我目前的输出是" B" " C"和" D"使用下面的代码。如果我的问题结构不合理,我对社区和编码不熟悉,我会事先道歉。
try :
score = raw_input("Enter Score:")
score = float(score)
if score >= 0.0 and score <= 1.0 and score >= 0.8 and score <= 0.9:
if score >= 0.9 :
print 'A'
if score >= 0.8 :
print 'B'
if score >= 0.7 :
print 'C'
if score >= 0.6 :
print 'D'
if score < 0.6 :
print 'F'
except :
print 'a suitable error message'
答案 0 :(得分:0)
如果一个接一个地让你的程序检查所有这些,它们是包容性条款因为一个不排除其他条款,所以你需要elif
将专门确定下一次执行的范围,并else
1}}默认情况下的语句将在您的代码中为< 6
:
try :
score = raw_input("Enter Score:")
score = float(score)
if score >= 0.0 and score <= 1.0:
if score >= 0.9 :
print 'A'
elif score >= 0.8 :
print 'B'
elif score >= 0.7 :
print 'C'
elif score >= 0.6 :
print 'D'
else:
print 'F'
except :
print 'a suitable error message'
您应该查看python control flow
答案 1 :(得分:-1)
将代码放入问题时应该小心。使用预览检查它是否正确
回到你的问题,你应该检查control flows in python。您的代码在第一次if
之后不会停止 - 它会进一步检查所有条件。如果你只想要一个字母,你应该这样做:
try :
score = raw_input("Enter Score:")
score = float(score)
if score >= 0.0 and score <= 1.0:
if score >= 0.9 :
print 'A'
elif score >= 0.8 :
print 'B'
elif score >= 0.7 :
print 'C'
elif score >= 0.6 :
print 'D'
elif score < 0.6 :
print 'F'
except : print 'a suitable error message'