我应该将列表n
中的每个元素乘以2,但由于某种原因,它会一直返回[6,5,7]
。由于某种原因,它只乘以第一个元素,但我想让它乘以所有元素,然后返回列表。
n = [3, 5, 7]
def double_list(x):
for i in range(0,len(x)):
x[i] = x[i] * 2
return x
print(double_list(n))
答案 0 :(得分:1)
问题是你在第一次迭代后返回x。
您应该在循环结束后返回x,而不是获得请求的结果。
n = [3, 5, 7]
def double_list(x):
for i in range(0,len(x)):
x[i] = x[i] * 2
return x
print (double_list(n))
有关return statemtent的详细信息,请参阅here
答案 1 :(得分:0)
你从循环内部返回。当第一个元素被更新时,它会立即返回而不更新其他元素。 你应该在for循环之外返回。
def double_list(x):
for i in range(len(x)):
x[i]*=2
return x
n=[24,20,48]
double_list(n)
它对我来说很好。试试吧 请注意您的原始列表n已更改。