【问题标题】:TicTacToe Check Wins ErrorTicTacToe Check Wins 错误
【发布时间】:2017-05-25 18:51:33
【问题描述】:
def check_board():
     global y
    for a in howtowin:
        for b in range(num):
            y.append([board1[a[b]]])    
        if all(y == 'X'):
            print("\nPlayer 1 Wins!")
            print("Congratulations!\n")
            return True
        elif all(y == 'O'):
            print("\nPlayer 2 Wins!")
            print("Congratulations!\n")
            return True
    for a in range(num*num):
        if board1[a] == 'X' or board1[a] == 'O':
            count += 1
        if count == num*num:
            print("The game ends in a Tie\n")
            return True

我正在制作一个程序,我已经尝试修复这个方法一周了。它需要考虑任何边长,如果有任何获胜组合,请使用“howtowin”检查。 “howtowin”是一个适用于任何棋盘边长的获胜组合元组。目前第二个循环中的第一行错误:

NameError: global name 'y' is not defined

【问题讨论】:

  • num 是整数吗?如果是这样,您需要这样做for b in range(0, num)

标签: python


【解决方案1】:

第一个 for 循环似乎是你的问题:

    for b in num:
        x.append([board1[a[b]]])    

应该是:

    for b in range(num):
        x.append([board1[a[b]]])    

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-27
    • 2016-01-19
    • 2017-11-27
    相关资源
    最近更新 更多