[英]Greater than less than, python
我正在做一個排名類型的事情,發生的事情是我將得分與當前得分進行比較,如果得分低於當前,那么玩家獲得了高分,但在這里使用此代碼時
print "Score = " + str(score) + ", Compared to = " + str(array[x])
if score < array[x]:
#Do stuff here
但即使得分為4且數組[x]為2,if語句仍然完成?
難道我做錯了什么?
我的理解是,如果得分4和數組[x]是2,則4大於2,這意味着它返回False?
下面是完整的代碼
def getRank(array, score):
rank = 0
rankSet = False
for x in range(0, len(array)):
print "Score = " + str(score) + ", Compared to = " + str(array[x])
if score < array[x]:
if not rankSet:
rank = x
print "Set rank to: " + str(rank)
rankSet = True
elif score == array[x] or score > array[x]:
rank += 1
print "Rank higher than " + str(x)
print "Rank = " + str(rank)
return rank
如果得分= 4則打印出來,數組由[1,2]組成
Score = 4, Compared to = 1
Set rank to: 0
Score = 4, Compared to = 2
Rank = 0
檢查以確保得分和數組[x]都是數字類型。 您可能正在將整數與字符串進行比較......這在Python 2.x中是令人心碎的。
>>> 2 < "2"
True
>>> 2 > "2"
False
>>> 2 == "2"
False
編輯
進一步說明: Python如何比較字符串和int?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.