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

Python如何限制输入仅为10位纯数字,禁止字母、符号及超长度内容

Python简易号码查询工具输入校验实现

核心校验逻辑

需要在获取用户输入后,优先做两类合法性校验,校验通过后再执行号码归属查询:

  • 校验输入长度:必须严格等于10位
  • 校验输入字符:必须全部为数字,不得包含字母、符号、空格等内容

最小改动版本(保留原有代码逻辑)

直接在原有代码的输入语句后新增校验分支即可,修改后完整代码如下:

def num():
    number = input("请输入查询号码:")
    # 新增输入校验逻辑
    if len(number) != 10:
        print("错误:仅允许输入10位内容")
        return
    if not number.isdigit():
        print("错误:仅允许输入纯数字,禁止包含字母、符号")
        return
    # 原有号码查询逻辑
    if number == "1111111111":
        print("Amal")
    elif number == "2222222222":
        print("Mohammed")
    elif number == "3333333333":
        print("Khadijah")
    elif number == "4444444444":
        print("Abdullah")
    elif number == "5555555555":
        print("Rawan")
    elif number == "6666666666":
        print("Faisal")
    elif number == "7777777777":
        print("Layla")
    else:
       print("抱歉,未找到该号码对应的信息")

num()

优化版本(更易维护)

用字典存储号码与姓名的映射关系,后续新增/修改号码时不需要堆砌elif语句:

# 号码与姓名映射表,新增数据直接在这里添加即可
phone_book = {
    "1111111111": "Amal",
    "2222222222": "Mohammed",
    "3333333333": "Khadijah",
    "4444444444": "Abdullah",
    "5555555555": "Rawan",
    "6666666666": "Faisal",
    "7777777777": "Layla"
}

def num():
    number = input("请输入查询号码:")
    # 输入校验
    if len(number) != 10:
        print("错误:仅允许输入10位内容")
        return
    if not number.isdigit():
        print("错误:仅允许输入纯数字,禁止包含字母、符号")
        return
    # 查询逻辑
    result = phone_book.get(number)
    if result:
        print(result)
    else:
        print("抱歉,未找到该号码对应的信息")

num()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 22:57:02