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

Python:如何在while循环中累加变量值得到正确商品总价?

解决Python商品总价累加错误的问题

问题代码

x=int(input("Escribe cantidad de artículos deseas comprar: "))
suma=0
seleccion=0
precio=0

while x>0:
    seleccion=(input("Dame el nombre de un artículo que deseas comprar: "))
    precio=int(input("Dame el precio de dicho artículo: "))
    z=precio
    x=x-1
    if seleccion==1:
        suma = z + z
        if seleccion > 1:
            print ("Listo. Haz anotado todos los artículos que deseas comprar")
print ("El pago total que tienes que hacer es: ", suma)

运行结果

Escribe cantidad de artículos deseas comprar: 2
Dame el nombre de un artículo que deseas comprar: camisa
Dame el precio de dicho artículo: 12
Dame el nombre de un artículo que deseas comprar: short
Dame el precio de dicho artículo: 33
El pago total que tienes que hacer es:  0

错误原因

  1. 判断逻辑完全无效:seleccion是输入的商品名称(字符串类型,比如"camisa"),但代码里拿它和整数1做相等判断,这个条件永远不会成立,导致suma一直保持初始值0。
  2. 累加方式错误:就算条件成立,suma = z + z只是把当前商品价格翻倍,不是累加之前的总价。

修正后的代码

x = int(input("Escribe cantidad de artículos deseas comprar: "))
suma = 0

while x > 0:
    seleccion = input("Dame el nombre de un artículo que deseas comprar: ")
    precio = int(input("Dame el precio de dicho artículo: "))
    # 核心:将当前商品价格累加到总价中
    suma += precio
    x -= 1

print("Listo. Haz anotado todos los artículos que deseas comprar")
print("El pago total que tienes que hacer es: ", suma)

关键修改点

  • 移除了无效的seleccion==1判断逻辑,商品名称不影响总价计算。
  • 用suma += precio实现正确累加(等价于suma = suma + precio),每次把当前商品价格加到总价里。
  • 将完成提示移到循环结束后,确保所有商品输入完成后再显示。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 20:31:09