python制作井字棋,该如何设置平局

想问一下这个代码该如何设置平局呢

info = [['.', '.', '.'],
        ['.', '.', '.'],
        ['.', '.', '.']]

def show():
    print('  0 1 2')
    for i in range(3):
        print(i, info[i][0], info[i][1], info[i][2])

def judge():
    if info[0][0] == info[1][1] and info[1][1] == info[2][2]:
        if info[0][0] != '.':
            return info[0][0]
    if info[0][2] == info[1][1] and info[1][1] == info[2][0]:
        if info[0][2] != '.':
            return info[0][2]
    for i in range(3):
        if info[i][0] == info[i][1] and info[i][1] == info[i][2]:
            if info[i][0] != '.':
                return info[i][0]
    for i in range(3):
        if info[0][i] == info[1][i] and info[1][i] == info[2][i]:
            if info[0][i] != '.':
                return info[0][i]

    return 'y'

show()
while True: 
    a = input('玩家x,您要把棋子放到第几行:')
    b = input('玩家x,您要把棋子放到第几列:')
    a = int(a)
    b = int(b)
    info[a][b] = 'x'
    show()
    flag = judge()
    if flag == 'x':
        print('玩家x胜利')
        break;
    a = input('玩家o,您要把棋子放到第几行:')
    b = input('玩家o,您要把棋子放到第几列:')
    a = int(a)
    b = int(b)
    info[a][b] = 'o'
    show()
    flag = judge()
    if flag == 'o':
        print('玩家o胜利')
        break;

    




















你的代码里没有考虑到:1、用户输入错误的情况;2、下棋位置已经有棋子的情况。我都加上了,你可以看一下,有问题留言


info = [['.', '.', '.'],
        ['.', '.', '.'],
        ['.', '.', '.']]


def show():
    print('  0 1 2')
    for i in range(3):
        print(i, info[i][0], info[i][1], info[i][2])


def judge():
    if info[0][0] == info[1][1] and info[1][1] == info[2][2]:
        if info[0][0] != '.':
            return info[0][0]
    if info[0][2] == info[1][1] and info[1][1] == info[2][0]:
        if info[0][2] != '.':
            return info[0][2]
    for i in range(3):
        if info[i][0] == info[i][1] and info[i][1] == info[i][2]:
            if info[i][0] != '.':
                return info[i][0]
    for i in range(3):
        if info[0][i] == info[1][i] and info[1][i] == info[2][i]:
            if info[0][i] != '.':
                return info[0][i]
    l = []
    for i in [0, 1, 2]:
        for j in [0, 1, 2]:
            l.append(info[i][j])
    if '.' not in l:
        return 'z'


show()
while True:
    while True:
        while True:
            a = int(input('玩家x,您要把棋子放到第几行:'))
            if a not in [0, 1, 2]:
                print('输入有误,请重新输入')
            else:
                break
        while True:
            b = int(input('玩家x,您要把棋子放到第几列:'))
            if a not in [0, 1, 2]:
                print('输入有误,请重新输入')
            else:
                break
        if info[a][b] == '.':
            info[a][b] = 'x'
            break
        else:
            print('此位置有棋子')

    show()
    flag = judge()
    if flag == 'x':
        print('玩家x胜利')
        break
    if flag == 'z':
        print('平局')
        break


    while True:
        while True:
            a = int(input('玩家o,您要把棋子放到第几行:'))
            if a not in [0, 1, 2]:
                print('输入有误,请重新输入')
            else:
                break
        while True:
            b = int(input('玩家o,您要把棋子放到第几列:'))
            if a not in [0, 1, 2]:
                print('输入有误,请重新输入')
            else:
                break
        if info[a][b] == '.':
            info[a][b] = 'o'
            break
        else:
            print('此位置有棋子')

    show()
    flag = judge()
    if flag == 'o':
        print('玩家o胜利')
        break
    if flag == 'z':
        print('平局')
        break