我有以下的一段未工作,我希望它在一路碼...好不尷尬(貌似簡單)錯誤使用Python整數比較
current_frame = 15 # just for showcasing purposes
g_ch = 7
if (current_frame != int(row[0])) and (int(row[1]) != g_ch):
current_frame = int(row[0])
print "curious================================="
print current_frame
print row
print current_frame, " != ", int(row[0]), ", ", current_frame != int(row[0])
print "========================================"
它打印任何特定的情況下:
curious=================================
15
['15', '1', 'more data'] 15 != 15 , False
========================================
這顯然不應該輸入if語句,因爲等號顯示爲false。這是爲什麼發生?
編輯:我也試過這個!=而不是'不是',並得到了相同的結果。
值得平等不應與身份混淆。 – recursive 2010-07-19 13:45:18
既然你說這發生在'!='和'不是'一樣,請省略'current_frame = int(row [0])並顯示'print repr(current_frame)'和'print repr(row [0] )' – unutbu 2010-07-19 13:49:54
很好的趕上unutbu。謝謝 – ahhtwer 2010-07-19 13:56:07