我对Python还不熟悉。开始做一个井字游戏。你知道吗
我已经印了一块板,所以这不是问题所在。我的函数播放序列发生了一些奇怪的事情。你知道吗
from IPython.display import clear_output
def display_board(board):
print(board[7]+ '|'+board[8]+ '|' +board[9])
print('----')
print(board[4]+ '|'+board[5]+ '|' +board[6])
print('----')
print(board[1]+ '|'+board[2]+ '|' +board[3])
def play_sequence():
move1 = ''
while move1 != range(0,10,1):
move1 = input("Player 1, choose a number:")
break
while move1 == input(move1):
print("You chose 1")
我希望玩家选择一个数字,它应该返回你选择的1,然后板上有1的板[1]。取而代之的是,我输入1,然后在一个框前面出现一个新行,其中一个1用于输入另一个输入。有什么想法吗?然后我再加一个1,然后显示11。这很有趣,但我需要帮助。有什么想法吗?你知道吗
实际上,我猜如果你真的想检查输入是否是1到9之间的数字,你可以加上这个。你知道吗
最后一点-我想知道你是否要做一个超长的函数来重复播放序列。。。i、 你准备把move2,move3。。。。?我认为最好使用一个大的while循环。但我想如果你现在只想练习,那就尽情享受吧:)
我不太清楚为什么要使用while循环。我相信你想问
if move1 in range(1, 10)
(顺便说一下,不需要写范围(0,10,1),因为step在默认情况下是1,而且tic-tac-toe board从1变为9,而不是从0变为范围(1,10))。这就像说“如果move1不是1到9之间的数字,那么请求输入”。我想你的意思也是if move1 == ''
。还有一个小问题,就是输入是字符串。。。所以它们不能与范围内的数字相比较。i、 e.“3”!= 3. 你知道吗要轻松地改变这一点,只需执行
int(input(".. whatever you ask for .."))
,将字符串转换为整数。你知道吗只是一个旁注,但是当你写
move1 = ''
的时候,我知道你用的是空字符串,因为你没有任何东西,但是你也可以用move1 = None
。然后你也可以说if not move1:
(“None”是假的,所以这就像说if not False,即if True)。你知道吗到目前为止,你有:
另外,你可以通过说
因为不管怎样,当你打算改变它的时候,移动没有多大意义。除非我不太明白你为什么用while循环。。。我猜你想检查输入的是不是1-9之间的数字?你知道吗
不管怎样,你发现奇怪的“11”的问题源于:
当move1==输入(move1)时: 打印(“您选择了1”)
在这里,您使用input(),并且每当您有input()时,您实际上请求输入。所以你一次又一次地投1。例如,如果您写入2或其他数字,则while循环停止。实际上我不太清楚你在这里做什么,但我想你想说的是:
这将打印在函数的第一部分中选择的数字。你知道吗
因此:
我希望我在帮你,我没有把你搞糊涂。。。:)尽管如此,学习python还是很有趣的!你知道吗
我想你可以试试这个
相关问题 更多 >
编程相关推荐