我正在尝试用 python 构建一个程序,每当我使用这些elif语句时,它们都不会起作用。就像如果我500输入 forfreq那么Sorry当我应该得到的时候我得到了输出bad。
我究竟做错了什么?
freq = raw_input()
if freq <= "87.10" :
print("Sorry")
elif freq <= "108.10" :
print("bad")
else:
print("good")
我正在尝试用 python 构建一个程序,每当我使用这些elif语句时,它们都不会起作用。就像如果我500输入 forfreq那么Sorry当我应该得到的时候我得到了输出bad。
我究竟做错了什么?
freq = raw_input()
if freq <= "87.10" :
print("Sorry")
elif freq <= "108.10" :
print("bad")
else:
print("good")
你在比较刺痛;这些是按字典顺序比较的,而不是数字。'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()不可用),因此print是statement,而不是 function。