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

Python 3实现仅接受"y"/"n"输入并在错误时循环提示

我懂你想要的效果——就是得把用户的输入死死限制在'y'或者'n'上,输错了就一直弹提示让重新输对吧?这事儿用循环其实很容易搞定,我给你两种实用的写法,你挑喜欢的用:

方法一:用while循环持续校验输入

这种写法先获取一次输入,然后判断是否符合要求,不符合就进入循环反复提示:

# 先获取初始输入并转成小写,兼容大写Y/N
user_choice = input("请输入'y'或'n':").lower()
# 只要输入不在允许的列表里,就一直循环提示
while user_choice not in ['y', 'n']:
    print("输入不对哦!请重新输入。")
    user_choice = input("请输入'y'或'n':").lower()
# 循环结束说明输入正确,后续可以处理逻辑
print(f"确认你的选择:{user_choice}")

方法二:用while True配合break跳出循环

这种写法更直观,先开启一个无限循环,输入正确就直接跳出,否则继续提示:

while True:
    # strip()去掉输入前后的空格,避免用户误输入空格导致校验失败
    user_choice = input("请输入'y'或'n':").strip().lower()
    if user_choice in ['y', 'n']:
        print(f"你的选择是:{user_choice}")
        # 输入正确,跳出循环
        break
    else:
        print("无效输入!请只输入'y'或者'n'~")

小提示:

  • 如果想严格区分大小写(只接受小写y/n),去掉代码里的.lower()就行。
  • 如果不需要处理用户输入的空格,把.strip()去掉也可以。

内容的提问来源于stack exchange,提问作者z.mcg

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 09:22:43