我想了解下面代碼中raw_input的行爲。 我知道num
會是字符串。 無論我輸入什麼號碼,總是輸入elif
部分,即如果num是5,則應該輸入if num<check:
部分,或者如果num是10,則應該輸入else
部分。每一次它會去elif
。我認爲比較STRING和INT可能會拋出異常(我不這麼認爲),但爲防萬一,所以我包含了try except
,但正如預期的那樣,它沒有拋出任何異常。但令我百思不解的是,爲什麼它總是打elif
即使給出的輸入爲10,至少在這種情況下,我期待輸出平等raw_input()的行爲
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大師,解開這個謎:)
的[Python是怎樣比較兩個字符串和int?]可能重複(http://stackoverflow.com/questions/3270680/how-does-python-compare-string-and-int) –