代码排查求助:请帮忙检查并修复员工类型输入代码
代码问题检查与修复方案
我帮你检查了这段员工类型输入的代码,发现几个需要修复和优化的点,具体如下:
原代码存在的问题
- 非整数输入会直接崩溃:如果用户输入字母、符号这类非整数内容,
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}")
改动说明
- 提取提示文本为变量:把重复的输入提示存到
PROMPT变量里,后续修改提示只需要改这一处即可。 - 添加异常捕获:用
try-except包裹输入转换逻辑,当用户输入非整数时,会友好提示并让用户重新输入,避免程序崩溃。 - 优化循环结构:把输入逻辑移到循环内部,不再需要在else分支里重复写输入语句,代码结构更清晰。
内容的提问来源于stack exchange,提问作者Suman
相关产品推荐
相关产品推荐

