如何重置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
相关产品推荐
相关产品推荐

