我正在尝试解决一项新任务 - Tic Tac Toe裁判。我必须对游戏结果做出判断,但不要对游戏进行判断。该程序应该只返回一个赢家(O或X)或绘制(顺便说一下,就像一个字符串)。
def checkio(game_result):
for y in game_result:
if y == "XXX":
return "X"
elif y == "OOO":
return "O"
for y in range(3):
if game_result[y][0] == game_result[y][1] == game_result[y][2] != None:
return game_result[y][0]
if game_result[0][y] == game_result[1][y] == game_result[2][y] != None:
return game_result[0][y]
if game_result[0][0] == game_result[1][1] == game_result[2][2] != None:
return game_result[1][1]
if game_result[2][0] == game_result[1][1] == game_result[0][2] != None:
return game_result[1][1]
return "D"
我真的不明白我在哪里犯了错误,系统在以下情况下回答:
(“。”表示空单元格)
我的结果是“。”但正确的结果是“D”。
如何解决?谢谢你的关注。
答案 0 :(得分:0)
该行:
if game_result[y][0] == game_result[y][1] == game_result[y][2] != None:
return game_result[y][0]
导致你麻烦 - 第0列中的所有单元格都是相同的,当你应该返回'draw'时,你要返回列[0] [0]的值,即'。',