井字游戏

这篇博客讨论了井字游戏的结果判断问题,包括题目的描述、解题思路和不同解法。作者分享了自己的解决方案,并介绍了其他利用zip()、map()、切片和正则表达式的解题方法。文章还提出了对五子棋游戏实现的思考,计划使用Tkinter进行GUI开发。
摘要由CSDN通过智能技术生成

井字游戏结果判断 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[
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值