Python for循环如何知道增量
定义斐波那契序列时,使用了以下代码:Python for循环如何知道增量,python,for-loop,Python,For Loop,定义斐波那契序列时,使用了以下代码: def fibonacci(n): current=0 after=1 for i in range(1,n): current,after=after,current+after return after for循环如何知道每次通过时递增1?我尝试使用while循环while e默认情况下,如果您没有指定范围内I的步长(开始、停止、步骤),则增量将被视为一个增量,否则您指定的就是您的步长。默认情况下,如果您
def fibonacci(n):
current=0
after=1
for i in range(1,n):
current,after=after,current+after
return after
for循环如何知道每次通过时递增1?我尝试使用while循环
while e默认情况下,如果您没有指定范围内I的步长(开始、停止、步骤),则增量将被视为一个增量,否则您指定的就是您的步长。默认情况下,如果您没有指定范围内I的步长(开始、停止、步骤)增量被视为一个增量,否则它就是您指定的步骤。python中的for循环会迭代项或生成器。在您的示例中,range(1,n)
将返回python2中[1,n)
之间元素的列表,或者返回将生成python3中相同项的生成器
本质上,for
循环可以迭代任何类型的iterables:
它将打印1、6、8和9
使用范围
,有第三个可选参数,可用于指定增量:
range(1, 10, 1) # The defaut [1 .. 9] numbers
range(1, 10, 2) # From 1 until 9 with 2 of increment
python中的for循环迭代项目或生成器。在您的示例中,range(1,n)
将返回python2中[1,n)
之间元素的列表,或者返回将生成python3中相同项目的生成器
本质上,for
循环可以迭代任何类型的iterables:
它将打印1、6、8和9
使用范围
,有第三个可选参数,可用于指定增量:
range(1, 10, 1) # The defaut [1 .. 9] numbers
range(1, 10, 2) # From 1 until 9 with 2 of increment
for
循环不会递增,而是迭代
for
循环的不是递增的,而是要求所谓的iterable提供要使用的值
在您的示例中,iterable是范围(1,n)
在Python2.x中,范围(1,n)
创建了一个值列表,而for
循环只要求列表在每次运行中提供下一个值,直到列表中的值被耗尽为止
在Python3.x中,范围(1,n)
经过优化,并返回特殊的iterable类型
,当要求循环提供下一个值时,它将提供它。for
循环不会递增,而是迭代
for
循环的不是递增的,而是要求所谓的iterable提供要使用的值
在您的示例中,iterable是范围(1,n)
在Python2.x中,范围(1,n)
创建了一个值列表,而for
循环只要求列表在每次运行中提供下一个值,直到列表中的值被耗尽为止
在Python3.x中,范围(1,n)
经过优化并返回特殊的iterable类型
,当要求循环提供下一个值时,该类型将提供下一个值。这里的技巧是循环不递增,它只在列表上迭代。范围生成一个列表,其中的数字从1
到n
。您可以在
在这里循环,但是您必须在循环开始之前定义e
,并在循环中自己递增,因此只使用for
循环更简单。请注意,您的for
循环实际上没有使用i
的值,但这很好。一些Python程序员会像那样为_在范围(1,n)中:
表示循环体中没有使用循环索引变量。顺便说一句,您的函数不太正确:对于fibonacci(0),它应该返回0
。这里的技巧是循环不递增,它只在一个列表上迭代。range
生成一个列表,其中的数字从1
到n
。您可以在这里使用而循环,但您必须在循环开始之前定义e
,并在循环中自己递增,因此它是si只需使用for
循环即可。请注意,您的for
循环实际上并没有使用i
的值,但这很好。一些Python程序员会将其编写为for u,范围为(1,n):
表示循环体中没有使用循环索引变量。顺便说一句,您的函数不太正确:对于fibonacci(0),它应该返回0
.True,但这是范围
函数的一个属性;for
对此一无所知。True,但这是范围
函数的一个属性;for
对此一无所知。