我正在制作我的井字游戏 我想将用户的输入限制为列表的元素。你知道吗
我的代码如下
from random import randint
def player_input():
turn_r = randint(0,1)
if(turn_r == 0):
def player1():
p1marker=0
while not int(p1marker) in range(0,9):
p1marker = raw_input("Where Should I Place Your X : ")
board[p1marker-1] = 'X'
if(turn_r == 1):
def player2():
p2marker=0
while not int(p2marker) in range(0,9):
p2marker = raw_input("Where Should I Place Your X : ")
board[p2marker-1] = 'X'
我希望while循环检查list的元素,并避免用户在列表中添加X或0,而不是range(0,9)
只需用列表替换
range(0,9)
。它应该完全一样的工作!你知道吗但是,您的代码还有其他问题:
此循环将永远不会执行,因为您已经将
p1marker
声明为0
。你知道吗另外,如果要使用
board[p1marker-1] = 'X'
,请确保p1marker
是一个数字。实际上,尝试从字符串中减去整数会出错。你知道吗列出你的选择。 假设:
然后用x替换范围(0,9)
你的代码,在它的当前状态实际上是非常无用的。观察:
根据
turn_r
的值,可以定义这个函数,也可以定义那个函数。你知道吗示例:
另一件事是,如果
turn_r == 0
为真,第二种情况就永远不会发生。你最好把第二个if
转换成一个elif
。它有助于编写更好的代码。你知道吗最后,如果你想要的话,你需要做的就是用你的列表替换
range(0, 9)
。你知道吗但是,除非您调用其中任何一个函数,否则它将毫无用处。你知道吗
相关问题 更多 >
编程相关推荐