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

Python 1-10整数输入校验:isdigit对'ten'类非整数输入是否生效及代码完善

关于isdigit()的适用性解答

不适用。Python的isdigit()方法仅能识别字符串中是否全部为阿拉伯数字字符,输入英文单词ten、小数.3这类非阿拉伯数字组成的内容时isdigit()会返回False,但如果遇到带全角数字、Unicode数字等特殊场景反而可能误判,你目前用try-except捕获ValueError的方案更适合做整数合法性校验,能直接覆盖所有无法转换为整数的输入场景。

完整实现代码

while True:
    input_content = input("输入1-10之间的整数:")
    try:
        num = int(input_content)
        if num == 0:
            print("哎呀,你输入了零,请重试。")
        elif 1 <= num <= 10:
            reciprocal = 1 / num
            print(f"你输入数字的倒数是{recnum}。")
            break
        else:
            print("你输入的数字不在1到10范围内!!!请重试。")
    except ValueError:
        print("你输入的不是整数!!!请重试。")

代码逻辑说明

  • 用while True循环实现输入错误自动重试的效果,输入合法值计算完倒数后自动退出循环
  • 所有无法转换为整数的输入(包括ten、.3、特殊符号等)都会进入ValueError分支,输出对应提示
  • 分支判断优先级匹配需求:优先校验0输入,再校验1-10合法范围,最后处理超出范围的输入,完全符合你给出的预期交互效果

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.20 17:36:07