"< ="没有在Python中给出预期的结果

时间:2015-12-09 23:57:52

标签: python loops

我在教自己Python。我已经完成了一些教程,并且我想写一个小程序来计算每个光明节的8个夜晚的蜡烛。

days = 0
candles = 1

while days <= 8 :
    days = days + 1
    candles = candles + 1
    print ("Day", days,":", candles, "Candles")

但是这个结果(Python 3.4)是:

Day 1 : 2 Candles
Day 2 : 3 Candles
Day 3 : 4 Candles
Day 4 : 5 Candles
Day 5 : 6 Candles
Day 6 : 7 Candles
Day 7 : 8 Candles
Day 8 : 9 Candles
Day 9 : 10 Candles

为什么它没有在第8天停止?

3 个答案:

答案 0 :(得分:1)

因为你在循环开始时days <= 8,所以你在循环中为它添加一个。 while循环不会停止第二个值更改它们完成执行块然后返回条件并检查它们是否应该继续运行。

答案 1 :(得分:0)

您在测试后递增变量days的值。当days为8时,您将其增加到9,然后打印它。

我会做这样的事情:

days = 1
candles = 2

while days <= 8 :
    print ("Day", days,":", candles, "Candles")
    days = days + 1
    candles = candles + 1

答案 2 :(得分:0)

如果你最后增加你的变量,你会得到你想要的。

days = 1
candles = 2

while days <= 8 :

    print ("Day", days,":", candles, "Candles")
    days = days + 1
    candles = candles + 1