Python 我的代码在正确执行布尔运算和限制操作中定义的变量值时遇到问题

Python 我的代码在正确执行布尔运算和限制操作中定义的变量值时遇到问题,python,Python,这是我的密码- board=['',''] from IPython.display import clear_output def display_board(board): print(board[7]+'|'+board[8]+'|'+board[9]) print(board[4]+'|'+board[5]+'|'+board[6]) print(board[1]+'|'+board[2]+'|'+board[3]) test_board=['']*10 di

这是我的密码-

board=['','']

from IPython.display import clear_output
def display_board(board):
    print(board[7]+'|'+board[8]+'|'+board[9])
    print(board[4]+'|'+board[5]+'|'+board[6])
    print(board[1]+'|'+board[2]+'|'+board[3])

test_board=['']*10
display_board(test_board)
def player_input():

$Second问题这里我使用的“范围”是1到10,这是表示我有空间供用户输入他们的选项(在测试板中),但我可以输入10或11>,它将接受它。如何将此限制为我可用的9个空间

def播放器选择(测试板): 位置=0 当位置不在[1,2,3,4,5,6,7,8,9]或不在空间检查(测试板,位置)时: 位置=整数(输入('选择位置(1-9)'))

返回位置


这一行看起来不正确:
如果测试板中的空格check=='',我认为整个函数是错误的,因为在检查所有值之前返回True。另外,
space\u check
实际上是在寻找一个空格,但是您用空字符串而不是空格初始化电路板。试试这个:

def space_check(test_board,position):
    return test_board[position]==''

def full_board_check(test_board):
    """Returns True if all spaces are filled"""
    for i in range(1,10):
        if space_check(test_board, i):
            return False    # We found an empty slot
    return True    # All slots are filled

这一行看起来不正确:
如果测试板中的空格check=='',我认为整个函数是错误的,因为在检查所有值之前返回True。另外,
space\u check
实际上是在寻找一个空格,但是您用空字符串而不是空格初始化电路板。试试这个:

def space_check(test_board,position):
    return test_board[position]==''

def full_board_check(test_board):
    """Returns True if all spaces are filled"""
    for i in range(1,10):
        if space_check(test_board, i):
            return False    # We found an empty slot
    return True    # All slots are filled

谢谢你,成功了。我本来有一个类似的格式,但是我无法让它工作,也许我有一个额外的空格,但是在问题的第二部分,我似乎不能限制电路板上可用的空格范围,应该只有9个,但是当我进行检查时,我可以输入更多,关于onedef播放器选项(测试板)的任何建议:位置=0,而位置不在[1,2,3,4,5,6,7,8,9]或不在空格检查(测试板,位置):位置=int(输入('Select a position(1-9)'))返回位置确保“return position”语句不在循环中。确保“return”与“while”缩进对齐。谢谢,这很有效。我本来有一个类似的格式,但是我无法让它工作,也许我有一个额外的空格,但是在问题的第二部分,我似乎不能限制电路板上可用的空格范围,应该只有9个,但是当我进行检查时,我可以输入更多,关于onedef播放器选项(测试板)的任何建议:位置=0,而位置不在[1,2,3,4,5,6,7,8,9]或不在空格检查(测试板,位置):位置=int(输入('Select a position(1-9)'))返回位置确保“return position”语句不在循环中。确保“return”与“while”缩进对齐。