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
相关产品推荐
相关产品推荐

