Python函数运行后无打印输出,如何实现消费统计及交易均值结果展示
问题解决方法
你目前的代码缺少三个核心部分:统计字典的初始化、输入后的函数调用、每次更新后的打印逻辑,同时需要加退出机制避免死循环,修正后的完整可运行代码如下:
def compra(conta, valor): conta["saldo"] = conta["saldo"] + valor conta["transacoes"] = conta["transacoes"] + 1 conta["media"] = (conta["media"]*(conta["transacoes"]-1)+valor)/conta["transacoes"] return conta # 初始化统计用的字典,给三个统计字段设置初始值 conta = { "saldo": 0, "transacoes": 0, "media": 0 } while True: valordacompra = float(input('Digite o valor da compra(输入0或负数即可退出程序): ')) # 增加退出逻辑,避免程序无限请求输入 if valordacompra <= 0: print("消费统计结束") break # 调用你写的统计函数更新数据 conta = compra(conta, valordacompra) # 每次输入完成后打印最新的统计结果,保留两位小数更符合金额使用习惯 print(f"Os valores de saldo, transações e média são: {conta['saldo']:.2f} {conta['transacoes']} {conta['media']:.2f}")
核心改动说明
- 新增了
conta字典的初始化逻辑,避免直接访问未定义的键报KeyError错误 - 把打印语句移到了循环内部,每次调用函数更新完统计值之后就输出最新结果
- 增加了退出判断规则,用户输入0或者负数的时候就结束程序
- 打印时增加了保留两位小数的格式化配置,输出的金额数值更规范
内容的提问来源于stack exchange,提问作者rfrancamont
相关产品推荐
相关产品推荐

