Sıralama türünde bir şey yapıyorum, ne olur, şu anki skorla skoru karşılaştırırsam ve skor o kadar düşükse o zaman oyuncu yüksek bir puana sahip olur, ancak bunu kullanırken Burada koduPython'dan daha az, python
print "Score = " + str(score) + ", Compared to = " + str(array[x])
if score < array[x]:
#Do stuff here
Ancak skor 4 ve dizi [x] 2 olsa bile if ifadesi hala yapılır?
Yanlış bir şey yapıyorum?
Anladığım kadarıyla, eğer skor 4 ve dizi [x] 2 ise, 4, 2'den büyüktür, bu da False anlamına gelir? İşte tam kod
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
bu = 4 ve dizi oluşur mı [1, 2]
Score = 4, Compared to = 1
Set rank to: 0
Score = 4, Compared to = 2
Rank = 0
kolay yolu kontrol etmek için: 'baskı Repr (skor), Repr (dizi [x]) '. Ayrıca: Python 3'te, 'TypeError: türetilmemiş türler: int()
Dougal
Niçin böyle düşünmedim D: – FabianCook
"print type (score)" özelliğini kullanarak 'ile geri dönebileceğimi düşünüyorum, ama bunu gerçekleştiren diziyi düşünüyorum. –
FabianCook