ATM模拟代码开发:新增PIN确认提示及不匹配报错咨询
完善ATM修改PIN功能的代码实现
你需要添加确认PIN的输入步骤,并增加PIN匹配校验逻辑。以下是修改后的完整代码:
def change_pin(self): try: # 获取新PIN并验证格式 new_pin = str(int(get.getpass("ENTER NEW PIN: "))) if len(new_pin) != 4: raise ValueError("PIN MUST BE 4 DIGITS") # 添加确认新PIN的输入提示 confirm_pin = str(int(get.getpass("CONFIRM NEW PIN: "))) if len(confirm_pin) != 4: raise ValueError("PIN MUST BE 4 DIGITS") # 校验两次输入的PIN是否一致 if new_pin != confirm_pin: raise ValueError("PIN MISMATCH") # 校验通过后设置新PIN self.pin = new_pin print("\n*********PIN SET SUCCESSFULLY*********") self.continue_or_exit() except ValueError as e: print(f"\n************{str(e).upper()}************") self.change_pin()
关键修改说明:
- 新增
confirm_pin = str(int(get.getpass("CONFIRM NEW PIN: ")))代码行,实现确认新PIN的输入提示 - 对确认PIN做同样的格式校验,确保输入为4位数字
- 添加PIN一致性校验逻辑,若两次输入不匹配则抛出
ValueError("PIN MISMATCH") - 优化异常提示内容,直接展示具体错误原因,提升交互清晰性
内容的提问来源于stack exchange,提问作者Dydot
相关产品推荐
相关产品推荐

