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

Python用户ID验证优化:实现合法ID输入的重试机制

用户ID验证代码修正

原代码存在两个核心问题:

  • 条件判断逻辑错误:if user_id > 0 or user_id < 3 会把所有整数判定为非法(比如输入1时,1>0为真,仍会触发错误提示),完全不符合1-3的验证要求
  • 非法ID输入后未触发重试逻辑,直接返回了非法的user_id

以下是修正后的代码,实现仅接受1-3范围内的整数ID,非法输入(非数字/超出范围)时自动重试,直到输入合法为止:

def validate_user():
    """验证用户ID,仅返回1-3范围内的合法ID"""
    try:
        user_id = int(input('\n      输入客户ID <示例:输入1代表用户ID 1>: '))
        # 判断ID是否在合法范围内
        if not (1 <= user_id <= 3):
            print("\n  抱歉,这不是有效的客户编号,请重试...\n")
            # 递归调用自身,让用户重新输入
            return validate_user()
        # 输入合法,返回ID
        return user_id
    except ValueError:
        print("\n  这不是有效的数字,请重试...\n")
        # 非数字输入时,递归重试
        return validate_user()

修正说明

  • 修正范围判断逻辑:用1 <= user_id <= 3明确合法区间,当ID不在此范围时触发提示并重试
  • 补充非法ID的重试逻辑:输入超出范围时,通过递归调用validate_user()让用户重新输入,直到得到合法ID
  • 将提示文本翻译成中文,匹配需求场景

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 17:30:51