栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

检查矩阵中的列或对角线是否= x(无Numpy)

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

检查矩阵中的列或对角线是否= x(无Numpy)

好吧,您可以将获胜条件的枚举转换成一个元组,成对的元组…在3x3的棋盘世界中不需要太多工作。

如下图所示(拿到示例板)并导致平局,应该让您开始进一步学习Python:

#! /usr/bin/env python"""Check in snaive 3x3 game board world for diagonal,column, or row all ocupied by one player."""from __future__ import print_functionplayers = (1, 2)  # Code for the playersboard = [[1, 2, 1],  # Board interpreted as 3 lists rows         [1, 2, 1],         [2, 1, 2]]winning_configs = (  # outer-inner-index pairs that win:    ((0, 0), (1, 1), (2, 2)),  # TL to BR diagonal    ((0, 2), (1, 1), (2, 0)),  # TR to BL diagonal    ((0, 0), (1, 0), (2, 0)),  # L column    ((0, 1), (1, 1), (2, 1)),  # M column    ((0, 2), (1, 2), (2, 2)),  # R column    ((0, 0), (0, 1), (0, 2)),  # L row    ((1, 0), (1, 1), (1, 2)),  # M row    ((2, 0), (2, 1), (2, 2)),  # R row)def and_the_winner_is(players, board, winning_configs):    """First one matching rules is returned as winner,    otherwise None to indicate a tie."""    for player in players:        for cfg in winning_configs: if all([board[i][j] == player for i, j in cfg]):     return player    else:        return Nonedef main():    """Determine the result from board."""    winner = and_the_winner_is(players, board, winning_configs)    if winner in players:        print('Winner is Player({})'.format(winner))    else:        print('A tie')if __name__ == '__main__':    main()


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/669540.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号