最后一个else语句没有执行

时间:2016-04-23 08:47:48

标签: python

当我输入大于1.0的分数时,最后一个else语句将不会执行,并且不会打印“Value out of range”行。 代码如下:

score = float(raw_input("Enter Score: "))

if score>= 0.0:

    if 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'
else:   
    print 'Value out of range'

4 个答案:

答案 0 :(得分:1)

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'
else:   
    print 'Value out of range'

或者,

if score>= 0.0:   
    if 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'
    else:   
        print 'Value out of range'

答案 1 :(得分:0)

这是因为你的其他人属于&#34;得分&gt; = 0.0&#34;而不是&#34;得分&lt; = 1.0&#34;条款。 这由python中的缩进表示。

答案 2 :(得分:0)

您已将“else”语句设置为错误的“if” 再看看代码。

在python缩进中,块是用空格构成的,所以你必须小心它。

如果你有使用任何其他编程语言的经验就像你将代码置于外部的“{}”内部,使用支持缩进的语言

答案 3 :(得分:-1)

因为score = 1.0 >= 0.0 == True

尝试改为:

if score >= 0.0 and score < 1.0: