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

如何在Python银行账户类的存取款方法中添加非法金额输入校验逻辑

实现金额输入校验的方案

核心是通过try-except捕获输入转float时的异常,再搭配循环保证用户输入合法后才执行后续业务逻辑,同时可额外补充正金额校验,避免输入负数等不符合业务规则的内容。

修改后的完整代码

class BankAccount:
    def __init__(self):
        self.balance = 0
        print("您好,欢迎使用存取款ATM机")

    def deposit(self):
        while True:
            input_content = input("请输入要存入的金额:")
            try:
                amount = float(input_content)
                # 校验金额必须为正数
                if amount <= 0:
                    print("输入无效,请输入大于0的金额")
                    continue
                break
            except ValueError:
                print("输入无效,请输入合法的数字金额")
        self.balance += amount
        print(f"\n已成功存入金额:{amount}")

    def withdraw(self):
        while True:
            input_content = input("请输入要取出的金额:")
            try:
                amount = float(input_content)
                if amount <= 0:
                    print("输入无效,请输入大于0的金额")
                    continue
                break
            except ValueError:
                print("输入无效,请输入合法的数字金额")
        if self.balance >= amount:
            self.balance -= amount
            print(f"\n已成功取出金额:{amount}")
        else:
            print("\n余额不足,无法完成取款")

改动说明

  • 新增了无限循环逻辑:用户输入不合法时会反复提示重新输入,直到获取到符合要求的金额才会执行后续的存取款操作
  • 通过try-except捕获ValueError异常:当输入包含字母、特殊符号、格式错误的数字时,转float会触发该异常,此时返回友好提示
  • 补充了金额有效性校验:过滤了0、负数这类不符合存取款业务逻辑的输入,避免业务异常

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 10:24:04