【问题标题】:Tic Tac Toe project井字游戏项目
【发布时间】:2018-08-12 14:15:07
【问题描述】:

我不知道为什么 m 中的元素在 if 语句中不会改变!

m=[[1,2,3],[4,5,6],[7,8,9]]

定义板():

for i in m:
    for j in i:
        print(j, end=" ")
    print('\n')

板()

对于范围内的k(0,9):

global m

position= input('choose a position from 1 to 9: ')

if k%2==0:#even,x
    if position==1:
        m[0][0]='x'
    if position==2:
        m[0][1]='x'
    if position==3:
        m[0][2]='x'
elif k%2==1:#odd,o
    if position==1:
        m[0][0]='o'
    if position==2:
        m[0][1]='o'
    if position==3:
        m[0][2]='o'            
board()

【问题讨论】:

  • 您使用的是 Python 2 还是 Python 3? input() 在两个版本中的行为不同。

标签: python arrays tic-tac-toe


【解决方案1】:

在 Python 3 中,input() 函数返回一个字符串,在进行数值比较之前首先需要将其转换为整数。

使用这一行:

posistion= int(input('choose a position from 1 to 9: '))

另外,不需要global m,您可以删除该行并保持相同的行为。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-06-12
    • 2015-01-08
    • 1970-01-01
    • 2014-04-12
    • 2015-12-06
    相关资源
    最近更新 更多