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

如何重置Python代码中的折扣计数使每个玩具的折扣序号从1开始

折扣计数重置问题解决方案

问题原因

你当前代码中的折扣计数变量y仅在程序启动时初始化一次,处理完第一个玩具的折扣后数值会持续累加,切换到下一个玩具时不会自动归零,因此出现了第二个玩具的折扣序号从3开始的问题。

修改方案

只需要在每次录入新玩具的价格后、进入折扣录入循环前,将y重置为1即可,修改后的完整代码如下:

count = "yes"
discount = 0
x = 1
toyAmount = 1

while x <= toyAmount:
    if count == "yes":
        toyPrice = int(input("Price of Toy " + str(x) + " = Rp."))
        # 每次处理新玩具时重置折扣计数
        y = 1
        while True:
            toyDiscount = int(input("Discount #" + str(y) + ": "))
            if toyDiscount != 0:
                y = y + 1
            else:
                break

        count = input("More Toys? (yes/no) = ")
        x += 1
        discount += 1
        toyAmount += 1

    else:
        break

运行效果

修改后第二个玩具的折扣序号会重新从1开始,输出符合预期:

Price of Toy 1 = Rp.20000
Discount #1: 40
Discount #2: 30
Discount #3: 0

More Toys? (yes/no) = yes
Price of Toy 2 = Rp.30000
Discount #1: 20
Discount #2: 50
Discount #3: 0

More Toys? (yes/no) = no

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 15:21:03