Python在Tic-Tac-Toe中定义函数
我正在用python编写一个简单的井字游戏的早期阶段。我定义了3个函数,一个用于初始化游戏,一个用于绘制棋盘,另一个用于询问玩家是否希望成为X或O。据我所知,我的函数是按顺序和正确顺序请求的,但我无法让程序通过第一个输入部分。任何帮助都将是惊人的Python在Tic-Tac-Toe中定义函数,python,tic-tac-toe,Python,Tic Tac Toe,我正在用python编写一个简单的井字游戏的早期阶段。我定义了3个函数,一个用于初始化游戏,一个用于绘制棋盘,另一个用于询问玩家是否希望成为X或O。据我所知,我的函数是按顺序和正确顺序请求的,但我无法让程序通过第一个输入部分。任何帮助都将是惊人的 def start(): print("Do you want to play Tic Tac Toe? Type yes or no.") choice = input() while choice == ('yes','no
def start():
print("Do you want to play Tic Tac Toe? Type yes or no.")
choice = input()
while choice == ('yes','no'):
if choice.lower == ('yes'):
player_choice()
elif choice.lower == ('no'):
print("goodbye")
quit()
else:
print("That was not a valid response. Type yes or no.")
start()
def drawsmall():
a = (' ___' * 3 )
b = ' '.join('||||')
print('\n'.join((a, b, a, b, a, b, a, )))
def player_choice():
print("Player one it's time to choose, X or O")
select= input()
if select.lower ==("x","o"):
print("Let the game begin.")
drawsmall()
elif select.lower != ('x','o'):
print("Please choose either X or O.")
else:
print("Come back when you're done messing around.")
quit()
首先,您的问题是调用
lower
方法错误。您应该这样称呼它:
str = 'Test'
print(str.lower())
print(str.lower)
>> test
>> <built-in method lower of str object at 0x7ff42c83ebb0>
def start():
print("Do you want to play Tic Tac Toe? Type yes or no.")
choice = ‘’
while choice not in ['yes','no']:
choice = input()
if choice.lower() == 'yes':
player_choice()
elif choice.lower() == 'no':
print("goodbye")
quit()
else:
print("That was not a valid response. Type yes or no.")
请注意,如果不设置choice='
,则不会进入循环
第三,应该将对start()
函数的调用移动到所有函数的末尾,以便正确识别它们
注意
使用我在
start()
中提供的逻辑纠正player\u choice()
,首先,您的问题是调用lower
方法错误。您应该这样称呼它:
str = 'Test'
print(str.lower())
print(str.lower)
>> test
>> <built-in method lower of str object at 0x7ff42c83ebb0>
def start():
print("Do you want to play Tic Tac Toe? Type yes or no.")
choice = ‘’
while choice not in ['yes','no']:
choice = input()
if choice.lower() == 'yes':
player_choice()
elif choice.lower() == 'no':
print("goodbye")
quit()
else:
print("That was not a valid response. Type yes or no.")
请注意,如果不设置choice='
,则不会进入循环
第三,应该将对start()
函数的调用移动到所有函数的末尾,以便正确识别它们
注意
用我在我的
start()
中提供的逻辑纠正player\u choice()
。好吧,在弄清楚你的意图之后,我看到了许多必须改变的事情
首先,试试这个,看一看:
def start():
print("Do you want to play Tic Tac Toe? Type yes or no.")
while True:
choice = input()
if choice.lower() == 'yes':
player_choice()
elif choice.lower() == 'no':
print("goodbye")
quit()
else:
print("That was not a valid response. Type yes or no.")
def drawsmall():
a = (' ___' * 3)
b = ' '.join('||||')
print('\n'.join((a, b, a, b, a, b, a,)))
def player_choice():
print("Player one it's time to choose, X or O")
select = input()
if select.lower() in ("x", "o"):
print("Let the game begin.")
drawsmall()
else:
print("Please choose either X or O.")
start()
在弄清楚你的意图之后,我看到了一些必须改变的事情 首先,试试这个,看一看:
def start():
print("Do you want to play Tic Tac Toe? Type yes or no.")
while True:
choice = input()
if choice.lower() == 'yes':
player_choice()
elif choice.lower() == 'no':
print("goodbye")
quit()
else:
print("That was not a valid response. Type yes or no.")
def drawsmall():
a = (' ___' * 3)
b = ' '.join('||||')
print('\n'.join((a, b, a, b, a, b, a,)))
def player_choice():
print("Player one it's time to choose, X or O")
select = input()
if select.lower() in ("x", "o"):
print("Let the game begin.")
drawsmall()
else:
print("Please choose either X or O.")
start()
你能用语言解释一下你期望看到的事件的顺序吗?是的,我很抱歉。基本上,在我看来,流程是这样的。def start(),初始化游戏并要求玩家输入与是或否相对应的输入。如果是,则应传递给玩家_选择,询问玩家一是否希望成为X或O。玩家选择应通过,玩家一是否选择X或O来绘制小图,这应绘制实际的棋盘。我认为第一个问题(如果没有所有的代码,很难知道完整的流程)这里是:'if select.lower==(“x”,“o”)',应该是'if select.lower in(“x”,“o”);对于您来说也是一样的elif,应该是'else:'(select可能等于或不等于“x”或“o”。它不能是任何其他东西)。抱歉,我以前没有看到它。这里同样:while choice==('yes','no')。它应该是'whilechoice not in('yes','no'):'你能用语言解释一下你期望看到的事件的顺序吗?是的,我道歉。基本上,在我看来,流程是这样的。def start(),初始化游戏并要求玩家输入与是或否相对应的输入。如果是,则应传递给玩家_选择,询问玩家一是否希望成为X或O。玩家选择应通过,玩家一是否选择X或O来绘制小图,这应绘制实际的棋盘。我认为第一个问题(如果没有所有的代码,很难知道完整的流程)这里是:'if select.lower==(“x”,“o”)',应该是'if select.lower in(“x”,“o”);对于您来说也是一样的elif,应该是'else:'(select可能等于或不等于“x”或“o”。它不能是任何其他东西)。抱歉,我以前没有看到它。这里同样:while choice==('yes','no')。它应该是'whilechoice not in('yes','no')):'非常感谢。我对这一切都非常陌生,一直在努力自学。很抱歉,我之前的描述不清楚。一点也不担心!我们都在学习。试着解释你的问题、你的尝试、你的输入和输出,这样人们可以更好地帮助你……如果你犯了错误,不要犹豫,还有继续努力!很高兴能提供帮助。非常感谢。我对所有这些都非常陌生,一直在努力自学。很抱歉我之前的描述不清楚。一点也不担心!我们都在学习。试着解释你的问题,你的尝试,你的输入和输出,这样人们可以更好地帮助你…做吗如果你犯了错误,不要犹豫,继续努力!非常乐意为你提供帮助。