gpt4 book ai didi

Python游戏;为什么我无法重新调用我的输入和 if/else 函数?

转载 作者:太空宇宙 更新时间:2023-11-03 14:37:21 26 4
gpt4 key购买 nike

我仍在学习 Python,但我之前用 Python 编程过的 friend 说这应该可以正常工作,但事实并非如此?

在此之前的所有代码都是我正在制作的这个基本“密室逃脱”游戏的开始故事。到目前为止的代码都是有效的(描述游戏的基本打印功能)。

我给玩家一个场景,他们在一个房间里,他们可以做以下两件事之一:

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:

def intro_room_result1():

print(
"""
(Story stuff for the result of option 1. Not important to the code)
""")

return;

如果他们选择 2,此功能就会发挥作用

def intro_room_result2():

print(
"""
(Story stuff for the result of option 2. Not important to the code)

""")

return;

这将是获取玩家输入并从那里继续故事的函数。

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..."+'\n'+
"For this action, the options must be either '1' or '2'"+'\n'+
"Let me ask again...")
intro_room_input()
intro_action_if(string)
return;

最后一个 intro_room_input 运行正常,它会重新运行之前的输入,但是当您实际输入 1 或 2 时,它不会对它们执行任何操作。它不想重新运行 if/elif/else 函数来给出结果。

终于我有了一个可以运行所有东西的主程序:

def main():
string = intro_room_input()
intro_action_if(string)
return;


main()

请帮忙,我不知道这段代码有什么问题!?

最佳答案

问题出在您的intro_action_if()中。当您再次调用函数获取值时,您忘记更改字符串值。

即,

#intro_room_input()            #wrong

string = intro_room_input() #right
intro_action_if(string)

正如您所看到的,即使在您的代码中您要求用户输入返回它,您也忘记了重新分配字符串返回值。因此,它保留了您之前给出的相同输入,并将旧值传递给 intro_action_if()

关于Python游戏;为什么我无法重新调用我的输入和 if/else 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46836853/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com