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

Python实现的用户退出确认循环为何总是直接退出?

问题根因

  • 你的代码错误使用了or逻辑运算符,导致第一个判断分支永远为真,循环无论输入什么都会直接退出。
  • 在Python语法中,decision == 'n' or 'no' 会被拆分为两个独立的判断项:(decision == 'n') 和 'no'。非空字符串的布尔值恒为True,因此整个if判断的结果永远是True,每次都会执行end = 1直接终止循环。

修复方案

条件判断修改为以下两种合法写法之一即可:

  1. 完整写出两个判断等式:decision == 'n' or decision == 'no'
  2. 更简洁易读的in成员判断:decision in ('n', 'no'),y/yes的判断也做相同逻辑修改。

修复后完整代码

def function_name(s):
    return s.lower()
end = 0
while end == 0:
    print('Are you sure you want to quit?')
    decision = function_name(input())
    if decision in ('n', 'no'):
        end = 1
    elif decision in ('y', 'yes'):
        print('Goodbye!')
        end = 1
        condition = 1
    else:
        print("Sorry, I couldn't understand that.\n")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 00:36:07