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

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 00:02:12