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

Python函数实现重复获取输入至预期值:代码补全求助

解决重复询问"are you sure"的问题

嘿,咱们来搞定这个需求:当用户回答"are you okay?"为"good"之后,得一直重复问"are you sure"直到他们输入"Yes"才行对吧?

你的现有代码框架里,???的位置需要填一段循环询问的逻辑,直接看修正后的完整代码:

def n_g():
    first_input = input("are you okay?")
    if first_input == "good":
        if input("are you sure") == "Yes":
            return "Nice"
        # 这里就是要填充的代码
        while True:
            sure_response = input("are you sure")
            if sure_response == "Yes":
                return "Nice"
    return n_g()

不过其实更清爽的写法是把内层的if直接换成while循环,省得多写一次输入语句,逻辑更简洁:

def n_g():
    first_input = input("are you okay?")
    if first_input == "good":
        # 只要输入不是"Yes",就一直重复询问
        while input("are you sure") != "Yes":
            pass  # 啥也不用做,继续循环就行
        return "Nice"
    return n_g()

说下为啥这么写:原来的代码里第一次问"are you sure"没得到"Yes"的话,就会走到return ???的分支。咱们在这里用循环把询问逻辑包起来,只要用户没输入"Yes"就一直重复提问,直到符合条件后立即返回"Nice",完全不会重新触发"are you okay?"的提问,刚好匹配你的需求。

内容的提问来源于stack exchange,提问作者Ryan

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 04:48:06