井字游戏项目

时间:2018-08-12 05:51:28

标签: python arrays tic-tac-toe

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

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

def board():

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

board()

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

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()

1 个答案:

答案 0 :(得分:0)

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

使用此行:

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

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