我一直在使用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就执行该块。
答案 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,请使用<
运算符