Estoy haciendo un tipo de ranking, lo que sucede es que comparo el puntaje con el puntaje actual y si el puntaje es más bajo que el actual, entonces el jugador tiene un puntaje alto, pero al usar este código aquíMayor que menos, python
print "Score = " + str(score) + ", Compared to = " + str(array[x])
if score < array[x]:
#Do stuff here
Pero incluso si el puntaje es 4 y el conjunto [x] es 2, la instrucción if todavía está hecha?
¿Estoy haciendo algo mal?
Según tengo entendido, si la puntuación 4 y la matriz [x] son 2, entonces 4 es mayor que 2, lo que significa que vuelve False?
Aquí está el código completo
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
imprime esto si puntuación = 4 y la matriz se compone de [1, 2]
Score = 4, Compared to = 1
Set rank to: 0
Score = 4, Compared to = 2
Rank = 0
manera más fácil de comprobar: 'impresión repr (score), repr (array [x])'. Además: en Python 3, obtienes 'TypeError: tipos no pedidos: int()
Dougal
¿Por qué no pensé en eso? D: Creo que podría ser – FabianCook
usando 'tipo de impresión (puntuación)' vuelve con '' pero creo que es la matriz que lo está haciendo. –
FabianCook