井字游戏结果判断 Xs and Os Referee
这个题目难度不难,解题逻辑也很清晰,主要是其他人的解题时用到的知识点要么我不熟悉要么不知道,所以记下这篇笔记。
题目描述
井字游戏,是一个两人玩家(X和O)轮流标志着3×3的网格的空间的连珠游戏。最先在任意一条直线(水平线,垂直线或对角线)上成功连接三个标记的一方获胜。
但我们不去玩这个游戏。你将是这个游戏的裁判。你被赋予游戏的结果,以及你必须判断游戏是平局还是有人胜出,以及谁将会成为最后的赢家。如果X玩家获胜,返回“X”。如果O玩家获胜,返回“O”。如果比赛是平局,返回“D”。
如下图所示,游戏的结果是作为字符串形式的列表,其中“X”和“O”是玩家的标志,“.”是空格。
解题思路以及我的解题
解题思路:对三行三列两个对角线8种可能进行判断是否等于”XXX”或者”OOO”,我的解题是将八种可能的单个字符进行比较,代码贴出
def checkio(game_result):
#行判断
for row in game_result:
if row[0] == row[1] == row[2] != ".":
return row[0]
#列判断
for col in range(3):
if game_result[0][col] == game_result[1][col] == game_result[