【发布时间】:2021-01-04 15:27:42
【问题描述】:
我在用 Python 为井字游戏创建特定棋盘时遇到了麻烦,我希望你们中的某个人能帮助我找出问题所在。我希望能够在三个不同的板之间进行选择,但只有一个板的代码适合我。
我正在尝试在 python 中创建一个井字游戏程序,其中只有计算机会执行动作,即它会与自己对战。我的第一个任务是创建一个空板,我设法使用以下代码做到了这一点:(这个也打印了板)
import numpy as np
def create_board():
return(np.array([[0, 0, 0],
[0, 0, 0],
[0, 0, 0]]))
但后来我希望程序能够在三个不同尺寸的板(3x3、5x5 和 7x7)上执行井字游戏,所以我重新编写了代码并创建了一个带有 input() 的 main() 函数,该函数要求所需的大小。然而,这个只打印出我在 input() 中选择的数字,例如 3,而不是板。我究竟做错了什么?我重新设计的代码是:
import numpy as np
def create_board(board):
if board == 3:
return np.array([[0, 0, 0],
[0, 0, 0],
[0, 0, 0]])
if board == 5:
return np.array([[0, 0, 0, 0, 0],
[0, 0, 0, 0, 0],
[0, 0, 0, 0, 0],
[0, 0, 0, 0, 0],
[0, 0, 0, 0, 0]])
if board == 7:
return np.array([[0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0]])
def main():
board = input("how big playing surface (3/5/7)? ")
【问题讨论】:
-
请参阅下面 Ignacio 的回答,但还要注意您仍在将字符串与整数进行比较。
-
你从来没有真正打电话给
create_board...还有为什么不只是np.zeros((board, board))? -
谢谢@JustinEzequiel,我还编辑了 int(input(....)) 的输入,现在这也可以了!
-
@Tomerikoo 你是对的,我编辑了代码并改用了
np.zeros,也称为create_board,现在效果很好!谢谢!
标签: python