11
私はランキングタイプのことをやっていますが、私は現在のスコアとスコアを比較し、スコアが現在のスコアより低い場合、プレーヤーは高いスコアを持っていますが、ここでのコード以下より大きい、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
最も簡単な方法は確認する: '印刷のrepr(スコア)のrepr(配列[X])'。また、Python 3では、 'TypeError:unorderable型を取得します。int()
Dougal
私はそれについて考えませんでしたD:私は – FabianCook
を使って 'print type(score)'を使うことができると思いますが、それは ''と一緒に戻ってきます。 –
FabianCook