将for循环更改为while循环

时间:2016-11-17 15:19:07

标签: python python-3.x

我想知道如何更改以下代码行以使用while循环而不是for循环。

for num in range(10):
 print(num+1)

目前打印出以下内容:

1
2
3
4
5
6
7
8
9
10

谢谢!

5 个答案:

答案 0 :(得分:2)

start = 0
while start != 10:
    start = start + 1
    print(start)

希望这个肝脏

答案 1 :(得分:2)

number = 1
while (number <=10):
   print 'The number is:', number
   number = number + 1

答案 2 :(得分:1)

for循环遍历可迭代,而while循环在条件为真时运行,因此您只需要考虑正确的条件。 在这里,计算到10的东西将起作用:

>>> number = 0
>>> while number < 10:
...   print(number + 1)
...   number += 1
...
1
2
3
4
5
6
7
8
9
10

答案 3 :(得分:1)

编写具有相同输出的代码与重写代码以执行相同的操作不同。其他答案只是做前者,所以这解决了后者:

numbers = range(10)
while numbers:
  numbers.pop(0) + 1

原始代码遍历循环外不存在的列表 - 它可以使用除范围(10)之外的其他内容的列表,但它不一定仅仅是&#39; + 1& #39;操作

然而,while循环的条件语句必须为true才能使循环开始,因此列表应该已经存在。为了保持原始代码的精神,我们使用range()来创建列表,并使用pop()迭代地从中删除第一个元素。

这里的差异是变量(数字)被使用,但是在循环之后是空的,我们不依赖于列表理解来迭代,而是明确地删除第一个元素,直到&#39;数字&# 39;,为空,导致错误的条件。

答案 4 :(得分:0)

嗯...... while语句操作UNTIL满足某个条件,因为for操作一组给定的迭代。

在你的情况下你要打印东西,直到num达到10,所以

while num <= 10 :
    print num 
    num = num + 1

会做