对于多步python

对于多步python,python,python-3.x,loops,for-loop,Python,Python 3.x,Loops,For Loop,在java中,我可以将以下内容用于: for(int i = 1 ; i<=100 ; i*=2) for(int i=1;i您可以定义自己的生成器,如下所示: def pow2_range(max): i = 1 while i < max: yield i i = i * 2 for x in pow2_range(100): print(i) 您可以定义自己的生成器,如下所示: def pow2_range(max)

在java中,我可以将以下内容用于:

for(int i = 1 ; i<=100 ; i*=2)

for(int i=1;i您可以定义自己的生成器,如下所示:

def pow2_range(max):
    i = 1
    while i < max:
        yield i
        i = i * 2

for x in pow2_range(100):
    print(i)

您可以定义自己的生成器,如下所示:

def pow2_range(max):
    i = 1
    while i < max:
        yield i
        i = i * 2

for x in pow2_range(100):
    print(i)

该循环意味着大于2的幂,小于100。如前所述,从0开始将不会导致任何进展

>>> import math
>>> math.log(100)/math.log(2)
6.643856189774725
>>> 2**6
64
>>> 2**7
128
>>> int(math.log(100)/math.log(2))
6
这告诉我们可以停在
6
int(math.log(100)/math.log(2))
,范围要求我们添加一个以包括
6

import math

for i in (2**p for p in range(int(math.log(100)/math.log(2))+1)):
运行示例:

>>> for i in (2**p for p in range(int(math.log(100)/math.log(2))+1)):
...     print i
... 
1
2
4
8
16
32
64

(inti=1;i循环的
直译意味着大于小于100的2的幂。如前所述,从0开始不会导致任何进展

>>> import math
>>> math.log(100)/math.log(2)
6.643856189774725
>>> 2**6
64
>>> 2**7
128
>>> int(math.log(100)/math.log(2))
6
这告诉我们可以停在
6
int(math.log(100)/math.log(2))
,范围要求我们添加一个以包括
6

import math

for i in (2**p for p in range(int(math.log(100)/math.log(2))+1)):
运行示例:

>>> for i in (2**p for p in range(int(math.log(100)/math.log(2))+1)):
...     print i
... 
1
2
4
8
16
32
64
数学导入日志中(inti=1;i
的直译
计数器=int(对数(100,2))
对于x英寸(2**y表示范围内的y(1,计数器+1)):
打印(x)

希望这有帮助!

来自数学导入日志
计数器=int(对数(100,2))
对于x英寸(2**y表示范围内的y(1,计数器+1)):
打印(x)


希望这有帮助!

for(int i=0;我很快将其误读为
+=
,并发布了一个虚假答案。已删除。您还可以传递中的生成器函数。我发现它更干净、更灵活。非常感谢@umutto,是的,您是对的,这非常好
(int i=0;iI很快将其误读为
+=
,并发布了一个虚假答案。已删除。您还可以传递中的生成器函数。我发现该函数更简洁、更灵活。非常感谢@umutto,是的,您是对的,这非常好,因为python的功能不如java/C++:(@Mehdi.sf Python有一个for-each循环。另一种类型的循环基本上是编写while循环的快速方法,您可以在Python中执行。您还可以使用移位整数:
[1
[1,2,4,8,16,32,64]
,因此Python中的for不如java/C++中的for强大:(@Mehdi.sf Python有一个for-each循环。另一种类型的循环基本上是编写while循环的快速方法,您可以在Python中执行。您还可以使用移位整数:
[1
[1,2,4,8,16,32,64]