我想了解以下代码中 raw_input 的行为。我知道num
会是字符串。无论我输入什么数字,它总是输入elif
部分,即如果 num 为 5,则应进入if num<check:
部分,或者如果 num 为 10,则应进入else
部分。每一次它都会elif
。我认为比较 STRING 和 INT 可能会抛出异常(我不这么认为),但以防万一,所以我已经包含了try except
,但正如预期的那样,它没有抛出任何异常。但令我困惑的是,为什么elif
即使给定的输入是 10,它也总是命中,至少在那种情况下,我期望输出相等
num = raw_input('enter a number')
check = 10
try:
if num<check:
print 'number entered %s is less'%num
elif num>check:
print 'number entered %s is greater'%num
else:
print 'Equal!!!'
print 'END'
except Exception,e:
print Exception,e
拜托,PYTHON 大师,解开这个谜团:)