range(0、le)を使用している場合、最初のコードが5,6,1の目的の結果を与えないのはなぜですか?私は最後の列のすべての値を取得するために(-1、le)を使用しなければなりませんでした。通常のリストを使用すると、forループは正常に動作します。Pythonのリストリストのforループを照会
def result(game):
print game
le = len(game)-1
print le
for i in range(0,le):
m = game[i][le]
print m
winner = [[2, 2, 5],[2, 1, 6],[2, 1, 1]]
result(winner)
出力:
[[2, 2, 5], [2, 1, 6], [2, 1, 1]]
2
5
6
セカンドバージョン:
def result(game):
print game
le = len(game)-1
print le
for i in range(-1,le):
m = game[i][le]
print m
winner = [[2, 2, 5],[2, 1, 6],[2, 1, 1]]
result(winner)
出力:すべてのあなたの答えのための
[[2, 2, 5], [2, 1, 6], [2, 1, 1]]
2
1
5
6
感謝。同じコードに関する
もう一つの疑問 -
あなたは私のために別の事を明確にすることはできますか?上記のコードで下記を使用してください - >
le = len(game)
print le
for i in range(0,le):
なぜ私は次のエラーが表示されますか?
Traceback (most recent call last):
File "main.py", line 10, in <module>
result(winner)
File "main.py", line 6, in result
m = game[i][le]
IndexError: list index out of range
あなたが別のサイトにリンクされているスクリーンショット対ここにあなたの出力を置く必要があります。 – AChampion
'range(start、stop)'には 'stop'値は含まれていません。だから、あなたの 'le'は1つ離れています。 'range(0、le + 1)'はあなたの問題を解決します。 – AChampion
質問の書式に関するあなたの答えとガイダンスの両方に@AChampionをたくさん感謝します。 –