这个Python2.x程序的输出是什么?

这个Python2.x程序的输出是什么?,python,Python,节目如下: score = raw_input("Enter your score between 0.0 and 1.0: ") try: fscore = float(score) except: print "Enter a numerical value for score." exit() if fscore >= 0.0 and fscore <= 1.0: if fscore >= 0.9: print "A"

节目如下:

score = raw_input("Enter your score between 0.0 and 1.0: ")
try:
    fscore = float(score)
except:
    print "Enter a numerical value for score."
    exit()
if fscore >= 0.0 and fscore <= 1.0:
    if fscore >= 0.9:
        print "A"
    elif fscore >= 0.8:
        print "B"
    elif fscore >= 0.7:
        print "C"
    elif fscore >= 0.6:
        print "D"
    elif score >= 0.5:
        print "E"
    elif score < 0.5:
        print "F"
else:
    print "Score is out of range."
score=原始输入(“输入介于0.0和1.0之间的分数:”)
尝试:
fscore=浮动(分数)
除:
打印“输入分数的数值”
退出()
如果fscore>=0.0且fscore=0.9:
打印“A”
elif fscore>=0.8:
打印“B”
elif fscore>=0.7:
打印“C”
elif fscore>=0.6:
打印“D”
elif得分>=0.5:
打印“E”
elif评分<0.5分:
打印“F”
其他:
打印“分数超出范围。”
这是一个简单的程序,根据学生的分数给他们打分。如果您仔细注意的话,我在第4个
elif
语句中犯了一个语义错误。我没有写
elif-fscore>=0.5
,而是写了
elif-score>=0.5


让我感兴趣的是,如果我在
score
中通过
0.4
,这个程序会给我输出
E
。我不应该收到一个错误吗?即使我没有收到错误,为什么
E
?为什么不
A
B
或其他什么呢?

我相信这与本文提供的答案有关:

请注意,您实际上是在比较字符串(用户的输入)和浮点(elif中设置的0.5)。显然这是一个设计缺陷


注意:我也不知道这一点:)

我对这个社区和python都是新手。我不知道要搜索什么。谢谢你的回复。但它是市场复制品,我已经得到了我的答案。:)