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

Python商品总价计算程序求助:无法正确累加输入数值

问题修正与完整代码实现

你的代码存在几个关键问题,导致无法正确计算总价:

  • 输入的数值没有赋值给变量,workbooks、textbooks、magazines这些变量根本没定义,自然没法调用累加
  • 直接相加商品数量不是税前总价,得用「数量 × 对应单价」后再求和
  • f-string存在语法错误:末尾缺了闭合的引号和大括号

下面是完整的可运行代码,每一步都加了注释方便理解:

# 获取用户输入并赋值给变量,转成浮点型(也可用int,因为商品数量是整数)
workbook_qty = float(input('Enter number of workbooks: '))
textbook_qty = float(input('Enter number of textbooks: '))
magazine_qty = float(input('Enter number of magazines: '))

# 定义各商品单价和税率,用大写常量方便后续修改
WORKBOOK_PRICE = 8.50
TEXTBOOK_PRICE = 24.00
MAGAZINE_PRICE = 5.95
TAX_RATE = 0.06  # 6%销售税

# 分步计算各项金额
subtotal = (workbook_qty * WORKBOOK_PRICE) + (textbook_qty * TEXTBOOK_PRICE) + (magazine_qty * MAGAZINE_PRICE)
tax = subtotal * TAX_RATE
total = subtotal + tax

# 用f-string格式化输出,保留两位小数符合金额显示规范
print(f'Cost before tax: ${subtotal:.2f}')
print(f'Sales tax: ${tax:.2f}')
print(f'Total amount due: ${total:.2f}')

核心要点解释:

  • 必须把输入值存入变量,后续才能调用这些值进行计算
  • 单价用大写常量定义,后期调整价格时只需改一处即可
  • :.2f是f-string的格式化语法,强制保留两位小数,避免出现多位小数的混乱金额显示

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 01:30:29