循环时 - 增加列表

时间:2017-08-10 13:20:37

标签: python

我一直试图弄清楚这个循环。起初看起来很简单,但我一直遇到错误。我想我有一段时间没用过python,所以很难回到事情的主旨。

  

编写一个while循环,将100个数字添加到列表中,从数字100开始,每次递增2。例如,从100开始,然后添加的下一个数字将是102,然后是104,依此类推。

到目前为止,我有这个;

count = 0
while count < 99:
    count += 1
    numbers.append(len(numbers)+2)

for x in numbers:
    print(x)

但是当我希望它是2,4,6,8,10时,这只是给我0-100打印......

4 个答案:

答案 0 :(得分:1)

numbers = []

index = 0
number = 100
while index < 100:
    number += 2
    index += 1
    numbers.append(number)

for x in numbers:
        print(x)

答案 1 :(得分:1)

进行一些修改,并按照练习使用while循环:

numbers = []
count = 0
while count < 100:
    numbers.append(100 + (2*count))
    count += 1

for x in numbers:
    print(x)

或者使用for循环:

numbers = []
for i in range(100):
    numbers.append(100 + (2*i))

for x in numbers:
    print(x)

或者作为列表理解:

numbers.extend([(100 + (2*el)) for el in range(100)])

或者作为递归:

numbers = []
def rec(num):
    if num < 100:
        numbers.append(100 + (2*num))
        rec(num + 1)
rec(0)

答案 2 :(得分:0)

试试numbers.extend(range(100, 300, 2))。这是一种更短的方式来完成你正在寻找的东西。

编辑:对于那些贬低人们,你至少可以发表评论吗?我的初步回答是在澄清问题之前(需要一个while循环)。我正在给出pythonic方式,因为我不知道这个要求。

答案 3 :(得分:0)

这样的事情:

numbers = []
while len(numbers) != 100:
    if len(numbers) > 0:
        numbers.append(numbers[-1] + 2)
    else:
        numbers.append(100)

小解释: 循环直到列表中有100个元素。如果list为空(将在开头),请添加第一个数字(在我们的例子中为100)。之后,只需将列表中的最后一个数字增加2即可。