मैं रैंकिंग प्रकार की बात कर रहा हूं, क्या होता है कि मैं स्कोर को वर्तमान स्कोर से तुलना करता हूं और यदि स्कोर कम होता है तो वर्तमान में खिलाड़ी को उच्च स्कोर मिला है, लेकिन इसका उपयोग करते समय यहाँ कोडसे कम की तुलना में ग्रेटर, पायथन
print "Score = " + str(score) + ", Compared to = " + str(array[x])
if score < array[x]:
#Do stuff here
लेकिन भले ही स्कोर 4 और सरणी है अगर बयान अभी भी किया जाता है [x] 2 है?
मैं कुछ गलत कर रहा हूं?
मेरी समझ यह है कि यदि स्कोर 4 और सरणी [x] 2 है तो 4 2 से अधिक है जिसका अर्थ है कि यह वापस आ गया है?
यहाँ पूर्ण कोड
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])'। इसके अलावा: पायथन 3 में, आपको 'TypeError: unorderable प्रकार: int()
Dougal
मैंने डी के बारे में क्यों नहीं सोचा था: मुझे लगता है कि मैं 'प्रिंट प्रकार (स्कोर)' का उपयोग करके – FabianCook
हो सकता हूं, यह ' 'के साथ वापस आता है, लेकिन मुझे लगता है कि यह वह सरणी है जो इसे कर रही है। –
FabianCook