Как найти сумму целых чисел, сгенерированных в цикле while

#python #while-loop #sum

#python #цикл while #сумма

Вопрос:

 salary = 1000
interest = 0.002 * salary
x = 0
while x < 12:
    yes = 0.15 * salary
    salary  = interest
    x  = 1
  

Выше то, что у меня есть
Я хотел бы вывести сумму yes после завершения цикла, я попытался
y = да = yes
print(y) это не сработало

Комментарии:

1. yes =yes не будет работать, поскольку вы повторно инициализируете переменную yes в начале цикла

2. Вам следует рассмотреть возможность использования цикла for, поскольку вы знаете начальный и конечный индекс и приращение цикла

Ответ №1:

 salary = 1000
interest = 0.002 * salary
x = 0
sum_of_yes=0
while x < 12:
    yes = 0.15 * salary
    salary  = interest
    x  = 1
    sum_of_yes =yes

print sum_of_yes
  

Ответ №2:

Если вы установите yes равным нулю перед циклом, вы можете просто = это:

 salary = 1000
interest = 0.002 * salary
x = 0
yes = 0
while x < 12:
    yes  = 0.15 * salary
    salary  = interest
    x  = 1
print(yes)
  

Ответ №3:

Это могло бы быть лучше выполнено в for цикле, а не в while :

 salary = 1000
interest = .002 * salary
x, total_yes = 0, 0

# This will keep track of x for you
for x in range(12):
    yes = 0.15 * salary
    salary  = interest
    total_yes  = yes

print(total_yes)
  

Ответ №4:

Я думаю, что я бы использовал понимание списка в сочетании с функцией:

 salary = 1000
interest = 0.002

def sum_yes(salary, interest):
    monthly_interest = 0.002 * salary
    monthly_salaries = [salary   (monthly_interest * month) for month in range(12)]
    return sum([month_salary * 0.15 for month_salary in monthly_salaries])

yes = sum_yes(salary, interest)
print(yes)