播种器菜鸡1号 2021-12-04 21:32 采纳率: 81.8%
浏览 126
已结题

python九宫格判断胜利条件

问题:编写一个名为Win的函数。该函数接收由3个列表组成的列表。函数检查是否存在8种可能的获胜条件中的任何一种。当3个正方形的水平、垂直或对角线包含相同符号(“X”或“O”)时,即为获胜条件。如果满足上述任一条件,函数返回True,否则返回False。

接受的列表为:
[“_”,”_”,”_”]
[“_”,”_”,”_”]
[“_”,”_”,”_”]

  • 写回答

1条回答 默认 最新

  • 笨鸟快飞呀 2021-12-04 23:36
    关注
    
    def Win(pl):
        p1 = pl[0]
        p2 = pl[1]
        p3 = pl[2]
    
        # 判断竖列相等
        for i in range(3):
            if (p1[i] == 'X' or p1[i] == 'O') and p1[i] == p2[i] and p1[i] == p3[i] :
                return True
    
        # 判断横列相等
        for p in pl:
            if (p[0] == 'X' or p[0] == 'O') and p[0] == p[1] and p[0] == p[2]:
                return True
    
        # 判断左交叉相等
        if (p1[0] == 'X' or p1[0] == 'O') and p1[0] == p2[1] and p1[0] == p3[2]:
            return True
    
        # 判断右交叉相等
        if (p1[2] == 'X' or p1[2] == 'O') and p1[2] == p2[1] and p1[2] == p3[0]:
            return True
    
        # 否则返回False
        return False
    
    a = ['X','O','X']
    b = ['E','X','E']
    c = ['A','E','X']
    p = [a,b,c]
    print(Win(p))
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 12月4日
  • 已采纳回答 12月4日
  • 赞助了问题酬金 12月4日
  • 修改了问题 12月4日
  • 展开全部

悬赏问题

  • ¥28 微信小程序开发页面布局没问题,真机调试的时候页面布局就乱了
  • ¥15 python的qt5界面
  • ¥15 无线电能传输系统MATLAB仿真问题
  • ¥50 如何用脚本实现输入法的热键设置
  • ¥20 我想使用一些网络协议或者部分协议也行,主要想实现类似于traceroute的一定步长内的路由拓扑功能
  • ¥30 深度学习,前后端连接
  • ¥15 孟德尔随机化结果不一致
  • ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
  • ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
  • ¥15 谁有desed数据集呀