Python 中的 ForLoop - 迭代器应该增加乘数因子 100



我只是想弄清楚这样的东西(用 C 写的(:

for (long long i = 100; i <= pow(10,length); i = i * 100){} 

将被翻译成Python 3。 作为最后一部分,迭代器应该将自身乘以 100,是我卡住的地方。

任何协助将不胜感激。

改用while循环:

i = 100
while i <= 10 ** length:
# ....
i *= 100

或使用生成器功能:

def powerranger(start, end, mult):
val = start
while val <= end:
yield val
val *= mult

for i in powerranger(100, 10 ** length, 100):
# ...

与其使用 for 循环,不如使用while循环来翻译这个 C 型循环:

i = 100
while i <= pow(10, length):
# Use the value of `i` here.
i *= 100

导入很多东西:

from itertools import takewhile, count
for i in (100 ** x for x in takewhile(lambda y: y <= length // 2, count(1))):
# do something useful here
j = 100
for i in range(length):
j *= 100
print j # or other use of j

不是太蟒蛇,但它有效。

最新更新