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

Python编写多商品税后总价计算器运行结果异常求助

Python商品税后总价计算器修复

原代码存在的问题

  • 循环内部重复初始化before_tax列表、after_tax变量,之前输入的商品价格会被全部清空,仅保留最后一次输入的数值
  • 税后计算逻辑仅取列表第一个元素before_tax[0]参与运算,无法适配多商品总价计算需求
  • else分支的累加逻辑无实际作用,下次循环启动时会直接清空累加结果,无法累计多商品总价

修复后可运行代码

# 初始化逻辑放在循环外部,避免数据被意外清空
before_tax = []
# 可按需调整折扣率、税率数值
discount_rate = 0.1
tax_rate = 0.0845

while True:
    # 改用float支持带小数的商品价格输入
    item_price = float(input("请输入商品价格:"))
    before_tax.append(item_price)

    more = input("是否还有其他商品?(y/n):")
    if more.lower() == "n":
        # 先计算所有商品税前总价
        total_before = sum(before_tax)
        # 统一应用折扣、税率计算税后总价
        after_tax = total_before * (1 - discount_rate) + total_before * tax_rate
        print(f"税后总价为:{after_tax}")
        break

测试效果

输入两个价格为10的商品时,计算逻辑为:
税前总价=10+10=20
折后总价=20*(1-0.1)=18
加税后总价=18 + 20*0.0845=19.69
输出结果与预期一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 21:36:03