You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 22:20:44