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

如何修改Python代码实现仅打印用户输入的有效Y/N选项

你看到的无效输入内容是input()函数默认的终端回显效果,要隐藏输入内容可以使用Python标准库自带的getpass模块实现无回显输入,校验通过后再主动打印有效结果即可,调整后的代码如下:

from getpass import getpass

while True:
    # getpass的prompt参数为提示内容,用户输入不会自动回显
    x = getpass(prompt="Y/N? ")
    if x in ("Y", "N"):
        # 校验通过后主动打印有效输入
        print(x)
        break

运行后终端只会重复显示Y/N? 提示,所有用户输入的内容都不会回显,只有输入Y/N时才会把对应内容打印出来,完全符合你的需求。

补充说明:

  • getpass模块依赖标准终端环境,部分IDE的内置调试终端可能不支持该模块,在系统原生的命令行/终端中运行可以保证兼容性。
  • 可选优化:如果需要支持用户输入小写y/n也能识别,可以把判断条件改成if x.upper() in ("Y", "N")即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 10:06:04