l oop забирает только последний предмет - PullRequest
0 голосов
/ 01 мая 2020

В python 3.x Я хочу запустить while l oop для всех элементов mass_list, и выходные данные также должны быть в списке. но мой l oop принимает только последнее значение.

ввод:

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)

где я иду не так?

1 Ответ

0 голосов
/ 01 мая 2020

Инициализация total_mass_sum должна быть вне for l oop, чтобы предотвратить сброс выходной полезной нагрузки для каждой итерации, и добавление к total_mass_sum должно быть внутри for l oop :

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]                       
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...