Python实现多次输入金额累加至信用余额的问题求助
解决信用程序无法累加余额的问题
问题根源
credit_balance每次运行都被初始化为0,无法保留之前的累加金额- 程序没有循环逻辑,仅支持单次输入操作
修改后的代码
# 初始化信用余额与额度 credit_balance = 0 credit_limit = 2000 while True: try: purchase_input = input("How much was your purchase? (输入非数字退出) ") purchase = int(purchase_input) if purchase < 0: print("金额不能为负数,请重新输入") continue credit_balance += purchase print(f"Your account value right now: {credit_balance}") if credit_balance >= credit_limit: print(f"You have reached your credit limit! 当前余额: {credit_balance}") break except ValueError: print("退出程序") break
关键修改说明
- 将
credit_balance的初始化移到循环外部,确保每次输入的金额都能累加到历史余额上 - 用
while True构建无限循环,允许用户多次输入购买金额 - 增加异常处理,避免用户输入非数字导致程序崩溃,输入非数字时自动退出
- 加入负数金额校验,排除不合理输入
- 当余额达到或超过信用额度时,给出提示并终止循环
内容的提问来源于stack exchange,提问作者shahzaib aslam
相关产品推荐
相关产品推荐

