繁体   English   中英

如何将for循环转换为while循环?

[英]How do i convert for loop to while loop?

嗨,我只是对这件事感到困惑。 如何将 for 循环转换为等效的 while 循环? 假设任何人都可以通过解决这个问题给我举个例子..

for number in range(20,2,-2):
    print("number",number)

将不胜感激

你可以像这样解决这个循环

x = 20
while x >= 4:
    print("number", x)
    x -= 2

简单地说,您添加计数变量。

例如

for number in range(20,2,-2):
 print(number)
count = 2
while True:
 if(count < 2):
 break
print(number)
count -=2

对于您的特定示例,这是使用 while 循环的等价物:

number = 20
while(number > 2):
    print("number",number)
    number -= 2

对于更具适应性的序列,您可以使用以下代码。 它使用迭代器来使用 while 进行循环。 您只需要设置序列的编号。

from_number = 20
to_number = 2
step = -2

print("Loop with for")
for number in range(from_number, to_number, step):
    print("number",number)


print("Loop with while")
iterator = iter(range(from_number, to_number, step))
number = next(iterator)
while number:
    print("number",number)
    try:
        number = next(iterator)
    except StopIteration:
        number = None

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM