グリッドの3つのスペースがすべて 'x'または 'o'としてマークされているかどうかをチェックするtic-tac-toeプログラムに関数を書き込もうとしています。 lst_1はラインのすべての可能な組み合わせのリストです:ネストされたリスト内の文字列をチェックする
def conc():
global lst
lst_1 = [[lst[0],lst[1],lst[2]],[lst[3],lst[4],lst[5]],[lst[6],lst[7],lst[8]],[lst[0],lst[3],lst[6]],[lst[1],lst[4],lst[7]], [lst[2],lst[5],lst[8]],[lst[0],lst[4],lst[8]],[lst[2],lst[4],lst[6]], [lst[0],lst[1],lst[2]],[lst[3],lst[4],lst[5]],[lst[0],lst[3],lst[6]], [lst[1],lst[4],lst[7]],[lst[2],lst[5],lst[8]],[lst[0],lst[4],lst[8]], [lst[2],lst[4],lst[6]]]
triplet = [s for s in lst_1]
if all('o' == item for item in triplet):
print('Player 2 wins!')
reply()
elif all('x' == item for item in triplet):
print('Player 1 wins!')
reply()
else:
pass
私は誰かが行の3を得ることができたときに、このゲームを止めるだろうと思ったが、それは行くを続けています。何か案は?
私は 'lst_1'に余計なデータがあると思います。 – TigerhawkT3
あなたの 'all()'呼び出しにも重要な部分がありません。 – TigerhawkT3
インデントがオフです。これはPythonでは重要です。変数 'triplet'は' lst_1'と同じように見えます。あなたは 'reply()'が何であるか、あるいは何をしているのかを教えてくれません。 [最小限で完全で検証可能なサンプルの作成方法](http://stackoverflow.com/help/mcve)を参照してください。 –