我正在尝试用 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。