如何让Python程序随时响应input()指令并恢复运行?
实现随时输入"inv"查看背包的方案
不用复杂的后台线程,直接封装一个自定义输入函数就能轻松搞定你的需求。这个函数会先捕获用户输入,判断如果是"inv"就调用背包查看函数,之后重新提示输入;如果是正常操作选项,就返回输入值让原程序继续执行。
改造后的完整代码示例
FrontPocket = "empty" BackPocket = "empty" def inv(): global FrontPocket global BackPocket print("\n=== 当前背包 ===") print(f"前口袋: {FrontPocket}") print(f"后口袋: {BackPocket}") print("===============\n") def custom_input(prompt): while True: user_input = input(prompt).strip() if user_input.lower() == "inv": inv() # 重新显示原提示,让用户继续操作 continue # 返回有效输入,回到主程序逻辑 return user_input # 主程序逻辑 answer = custom_input("你面前有一个梳妆台。你要做什么?\n1. 打开顶层抽屉\n2. 打开中间抽屉\n3. 打开底层抽屉\n") if answer == "1": print("你打开了顶层抽屉,里面找到一块手帕。") FrontPocket = "手帕" elif answer == "2": print("你打开了中间抽屉,里面找到一把小钥匙。") BackPocket = "小钥匙" elif answer == "3": print("你打开了底层抽屉,里面是空的。") else: print("输入无效,请重新选择。") # 后续操作依然可以用custom_input,随时输入inv查看背包 next_action = custom_input("\n接下来你要做什么?\n1. 查看背包\n2. 离开梳妆台\n") if next_action == "1": inv() elif next_action == "2": print("你转身离开了梳妆台。")
关键说明
- 自定义的
custom_input()函数完全替代原生input(),每次输入都会先检查是否是"inv":如果是,调用inv()展示背包内容,然后循环重新提示用户输入;如果不是,直接返回输入值给主程序。 - 这个方案逻辑简单,不需要理解线程、后台任务等复杂概念,适合Python新手快速上手,完全满足你“随时输入inv查看背包,之后回到原程序继续运行”的需求。
内容的提问来源于stack exchange,提问作者Baconator
相关产品推荐
相关产品推荐

