我如何在Python中一次又一次地向数字添加内容
我试图在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从
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)]