我如何在Python中一次又一次地向数字添加内容

我如何在Python中一次又一次地向数字添加内容,python,Python,我试图在python中添加数字。我知道,当你添加它时,它将是x+3,但是当我试图用我正在编写的程序来做它时,它无法实现我想要的效果! 代码如下: x = 0 list = [] for i in range (1,100): y = x + 3 list.append(y) print (list) 我们得到的结果是: [3,3,3,3,3,3...] 当我希望它是: [3,6,9,12,15] 有人能告诉我我做错了什么吗 谢谢 您需要将结果分配回x,以便它累加值。由于x从

我试图在python中添加数字。我知道,当你添加它时,它将是
x+3
,但是当我试图用我正在编写的程序来做它时,它无法实现我想要的效果! 代码如下:

x = 0 

list = []

for i in range (1,100):
  y = x + 3 
  list.append(y)
print (list)
我们得到的结果是:

[3,3,3,3,3,3...]
当我希望它是:

[3,6,9,12,15]
有人能告诉我我做错了什么吗


谢谢

您需要将结果分配回
x
,以便它累加值。由于
x
从未更改,因此您会不断添加到
x
的原始值

x = 0
l = []
for i in range(1, 100):
    x += 3
    l.append(x)

print(l)

顺便说一句,不要使用
list
作为变量名。它是Python内置函数的名称。

x
始终为0,因此您继续运行
y=0+3
,然后将其添加到列表中

您根本不需要
y
变量,您可以在循环中运行它

x += 3
lst.append(x)
或者,也许更简单

lst = [x*3 for x in range(1, 100)]

您不需要增加或增加变量x。因此,在语句list.append(y)之后,在新行中添加x+=3 您没有更新
x
,因此您一直在添加原始
x
值。因此,必须更新
x
。但既然你有y,你就可以这样做

y = 0
mylist = []
for i in range (1,100):
  y += 3
  mylist.append(y)
print (mylist)
或者这样做,你可以只更新x值,然后它就工作了

x = 0
mylist = []
for i in range (1,100):
  y = x + 3
  x += 3 #update the x variable
  mylist.append(y)
print (mylist)
不要使用
list
作为变量名。它是Python内置函数的名称。在python中,请使用另一个单词,如
mylist
或其他什么。

这会有所帮助

x = 0 

list = []

for i in range (1,100):
    y= x+i*3
    list.append(y) 
print(list)

你不需要变量x

将行
y=x+3
更改为
y=i*3


在脚本中,您没有每次都重新定义x的值,因此执行了无数次0+3。I是循环的索引,因此在每次迭代后都会增加,允许您在列表输出中增加值

您可以将其写入一行,如下所示:

[x for x in range(1, 100) if x % 3 == 0]
或:

[x*3 for x in range(1, 100)]