我一直试图弄清楚这个循环。起初看起来很简单,但我一直遇到错误。我想我有一段时间没用过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打印......
答案 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即可。