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

Python字符串用户输入功能异常问题求助

问题分析与解决

你的代码核心错误出在字符串处理步骤:

  • answer = answer.islower() 这个方法返回的是布尔值(True/False),它的作用是判断原字符串是否全为小写,而非将字符串转换为小写。这导致后续判断answer == "n"或answer == "y"永远无法成立——布尔值和字符串类型无法匹配相等。

正确的写法是使用lower()方法,它会把字符串中的大写字符转换为小写,返回处理后的字符串:

while True:
    print("This is the start.")

    answer = input("Would you like to continue? (Y/N) ")
    answer = answer.lower()  # 替换为lower()方法实现大小写转换
    if answer == "n":
        print("Ok thank you and goodbye.")
        break
    elif answer == "y":
        print("Ok, let's start again.")
    else:
        print("You need to input a 'y' or an 'n'.")

如果想让程序更健壮,还可以先去除输入前后的空格(避免用户误输入空格导致判断失败),修改为:answer = answer.strip().lower()。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 09:05:24