为什么这里的循环不会更快结束1次迭代?

时间:2014-02-20 16:17:11

标签: python loops while-loop

我一直在使用Codecademy进入python,现在正在使用LearnStreet进行审阅和练习。这让我筋疲力尽 - 以下代码:

def run():
    count = 1
    while count <= 10:
        print count        
        count += 1
    return count
print run()

返回从1到11的所有数字。我认为应该将所有数字从1返回到 10 。为什么在count == 11时打印循环? while只表示只要计数不大于10就执行该块。

6 个答案:

答案 0 :(得分:8)

循环不打印11. print run()确实如此,因为函数run()返回11。

答案 1 :(得分:3)

您打印count,然后递增它,然后检查while语句中的值。这将打印最多10个所有数字,但将count的值保留为11.之后,您从函数返回 count并打印返回值,即11

答案 2 :(得分:1)

run函数打印从1到10的所有内容,并返回11. print语句(调用run()函数)打印返回值---即11。

答案 3 :(得分:1)

以下是内联解释:

def run():
    count = 1
    while count <= 10:
        print count    # Will print numbers from 1, to 10, inclusively.
        count += 1     # Will increment count
    return count
print run()            # Will print the value returned, which is 11

循环确实打印范围[1,10]中的值,但返回最后一个语句打印的count的最后一个值,即11。

答案 4 :(得分:1)

在循环结束时,count = 11然后你的“run”函数返回它。

因此,当您执行print run()时,它会打印11:)

答案 5 :(得分:0)

不应该返回11.循环继续,因为它有<=运算符。当count等于10时,循环运行一次,再加1并使其成为11.当循环退出时。如果您希望它返回10,请使用<运算符