0

我正在尝试用 python 构建一个程序,每当我使用这些elif语句时,它们都不会起作用。就像如果我500输入 forfreq那么Sorry当我应该得到的时候我得到了输出bad

我究竟做错了什么?

freq = raw_input()
if freq <= "87.10" :
    print("Sorry")
elif freq <= "108.10" :
    print("bad")
else:
    print("good")
4

1 回答 1

8

你在比较刺痛;这些是按字典顺序比较的,而不是数字。'5'sorts before '8',不管后面是什么,就像Alpha是 sorted before Beta,因为A来之前B,不管后面有什么其他字符。

而是比较数字:

freq = float(raw_input())
if freq <= 87.10:
    print "Sorry"
elif freq <= 108.10:
    print "bad"
else:
    print "good"

注意:您使用的是 Python 2(或raw_input()不可用),因此printstatement,而不是 function。

于 2013-10-20T00:19:12.053 回答