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

代码排查求助:请帮忙检查并修复员工类型输入代码

代码问题检查与修复方案

我帮你检查了这段员工类型输入的代码,发现几个需要修复和优化的点,具体如下:

原代码存在的问题

  • 非整数输入会直接崩溃:如果用户输入字母、符号这类非整数内容,int(input(...))会触发ValueError,程序直接终止,体验很差。
  • 代码冗余重复:输入提示的长字符串在代码里写了两次,后续如果要修改提示内容,得改两处,容易遗漏。
  • 循环结构可以更简洁:原逻辑把输入放在循环外又在else里重复,其实可以把输入统一放到循环内部,让代码更紧凑。

修复后的代码

# 提取重复的提示文本为变量,方便后续维护
PROMPT = '''ENTER EMPLOYEE TYPE [1] PERSONAL BANKER [2] TELLER [3] MANAGER'''

while True:
    try:
        e_type = int(input(PROMPT))
        if e_type == 1:
            e_type = '_personal_banker_'
            break
        elif e_type == 2:
            e_type = '_teller_'
            break
        elif e_type == 3:
            e_type = '_manager_'
            break
        else:
            print('INVALID ENTRY! TRY AGAIN...')
    except ValueError:
        # 处理非整数输入的情况
        print('Please enter a valid number (1, 2, or 3)! TRY AGAIN...')

print(f"Selected employee type: {e_type}")

改动说明

  1. 提取提示文本为变量:把重复的输入提示存到PROMPT变量里,后续修改提示只需要改这一处即可。
  2. 添加异常捕获:用try-except包裹输入转换逻辑,当用户输入非整数时,会友好提示并让用户重新输入,避免程序崩溃。
  3. 优化循环结构:把输入逻辑移到循环内部,不再需要在else分支里重复写输入语句,代码结构更清晰。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.08 16:02:48