Python game; Why can't I re-call my input and if/else function?
我仍然在学习Python,但我之前用Python编程的朋友说这应该可以正常工作,但它不会吗?
在此之前的所有代码都是我正在制作的基本"逃离房间"游戏的开始故事。直到此处的代码工作,(描述游戏的基本打印功能)。
我向玩家提供他们在一个房间里的场景,他们可以做以下两件事之一:
1 2 3 | def intro_room_input(): intro_action = input("What would you like to do? (Please enter either: 1 or 2)") return intro_action; |
这两个函数用于选择1或2时,下一个if / elif函数运行这些函数
如果他们选择1:
1 2 3 4 5 6 7 8 | def intro_room_result1(): print( """ (Story stuff for the result of option 1. Not important to the code) """) return; |
如果他们选择2,此功能将会播出
1 2 3 4 5 6 7 8 9 | def intro_room_result2(): print( """ (Story stuff for the result of option 2. Not important to the code) """) return; |
这将是获取玩家输入并从那里继续故事的功能。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | def intro_action_if(string): if string =="1": intro_room_result1() elif string =="2": intro_room_result2() else: print("I'm sorry, that wasn't one of the options that was available..."+' '+ "For this action, the options must be either '1' or '2'"+' '+ "Let me ask again...") intro_room_input() intro_action_if(string) return; |
最后一个intro_room_input运行正常,它会重新运行上一个输入,但是当你实际输入1或2时,它不会对它们做任何事情。它不想重新运行if / elif / else函数来给出结果。
最后我有一个主要运行一切:
1 2 3 4 5 6 7 | def main(): string = intro_room_input() intro_action_if(string) return; main() |
请帮忙,我不知道这段代码有什么问题!?
问题出在您的
即
1 2 3 4 | #intro_room_input() #wrong string = intro_room_input() #right intro_action_if(string) |
如您所见,即使在您的代码中您要求用户