对于多步python
在java中,我可以将以下内容用于:对于多步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)
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]