簡體   English   中英

大於小於,python

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM