我不明白爲什麼下面的代碼給出了True,False,True結果。比較字符串與數字 - Python
print("3" < "4")
print("3" < "10")
print("3" < "30")
據我所知,第一和第三代碼,但爲什麼不print("3" < "10")
給予True
響應。
感謝
我不明白爲什麼下面的代碼給出了True,False,True結果。比較字符串與數字 - Python
print("3" < "4")
print("3" < "10")
print("3" < "30")
據我所知,第一和第三代碼,但爲什麼不print("3" < "10")
給予True
響應。
感謝
從python文檔上comparison操作:
字符串是字典順序用數字等同其字符(內置函數ORD()的結果)進行比較。
字符比較從第一個字符開始,逐步比較字符串,直到找到字符差異。
你的第二個語句返回False
因爲:
ord("3") > ord ("1")
鏈接建議會給你精心製作的答案。但是因爲我假設你正在開始編程,所以我試圖採用一種非常簡單的方法來解釋。
對於字符串,只要你開始寫:
"ab"<"bc"
"30"<"400"
想象一下:
['a', 'b'] <['b', 'c']
['3', '0'] <['1', '0', '0']
現在做出比較兩個列表的第一要素,只有移動到下一個元素,如果它們相等:
第一個應該是True。 第二個應該是False。
遵循同樣的邏輯,並嘗試:
'30'<'31'
應該評估爲True。