如何使用下面的python代码获得所需的输出?

时间:2015-12-16 19:09:59

标签: python python-2.7

我想要获得的期望输出是" 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'

2 个答案:

答案 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'