You need to enable JavaScript to run this app. Python中如何使用循环拒绝包含指定特殊字符的无效用户输入
优惠活动
大模型
产品
解决方案
定价
更多

Python中如何使用循环拒绝包含指定特殊字符的无效用户输入

Python输入校验功能实现说明

你现有的代码已经实现了长度校验逻辑,只需要补充禁用特殊字符的校验即可,完整可运行代码如下:

# 提前定义禁止输入的特殊字符集合
forbidden_chars = {'!', '@', '#', '$'}

while True:
    print("禁止输入!、@、#、$四类特殊字符")
    answer = input("请输入长度不小于5个字符的答案:")
    # 两个无效条件满足任意一个就需要重新输入
    if len(answer) < 5 or any(char in forbidden_chars for char in answer):
        print("输入不符合要求,请重新输入。")
    else:
        print("输入的字符长度符合要求!")
        print("校验通过!")
        break

逻辑说明

  • 用集合存储禁用字符{'!', '@', '#', '$'},查询字符是否属于禁用列表的效率更高,你也可以换成字符串'!@#$',功能完全一致。
  • 无效判断用len(answer) < 5 or any(char in forbidden_chars for char in answer):
    • 前半段判断长度是否不足5个字符
    • 后半段any()函数会遍历输入的每一个字符,只要有一个字符属于禁用集合就会返回True
    • 两个条件满足任意一个,就判定为输入无效,提示用户重试
  • 只有长度达标、同时不包含禁用字符时,才会判定为校验成功,退出循环。
    上述实现允许输入()*&^等不在禁用列表里的特殊字符,完全符合需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.15 20:15:03