在python 3.x中,我想为mass_list的所有元素运行while循环,并且输出也应该在列表中。但我的循环仅获取最后一个值。
输入:
mass_list = [1969,100756]
预期输出:
[966,50346]
我的代码是---
for a in mass_list:
mass_sum = 0
total_mass_sum = []
while a >= 6:
i = (int (a/3)-2)
mass_sum = i+mass_sum
a = i
total_mass_sum.append(mass_sum)
print(total_mass_sum)
我要去哪里错了?
total_mass_sum
的初始化必须在for
循环之外,以防止每次迭代重置输出有效载荷,并且total_mass_sum
的追加必须在for
循环之内:
mass_list = [1969,100756]
total_mass_sum = []
for a in mass_list:
mass_sum = 0
while a >= 6:
i = (int (a/3)-2)
mass_sum = i+mass_sum
a = i
total_mass_sum.append(mass_sum)
print(total_mass_sum) # output: [966, 50346]