Как в условии цикла while проверить 2 переменные
Как сравнить 2 переменные в цикле while? Цель в том, чтобы цикл повторялся пока значение одной переменной не станет равно значению другой переменной, при этом одна из переменных определенна за ранее, а другая меняется на единицу при каждом повторении цикла, тем самым происходит перебор значение и на каждый повтор цикла выполняется тело цикла. Тело цикла будет выполнять функцию подсчета процентов, и подсчета увлечения этой суммы с годами с учетом процентов.
При вводе суммы скажем "10000" и срока хранения в "12", в консоле выводит 1100.0, хотя требуется чтобы на каждое число из 12, выполнялось тело цикла, вычисляя тем самым итоговую сумму, то есть он за 1 год подсчитывает а потом цикл заканчивает свою работу, хотя не должен, по моему разумению
num1 = int(input('Введите сумму: '))
#Ввод срока хранения суммы
num2 = int(input('Введите срок: '))
#Вычисление увеличения суммы с 10% годовых
num3 = 0
while num3 < num2:
#Вычисление 10% от введеного пользователем числа
num4 = num1/100*10
#Вычисление увиличения суммы с учетом процетов
num4 = num4 + num1
#Увеление значения на 1, чтобы перебрать каждый год и подсчитать прибыль
num3 = num3 + 1
print('Сумма увеличится до: ' + str(num4))
Ответы (3 шт):
while num2 != num3
но лучше сделать это с помощью цикла for
money = int(input('Введите сумму: '))
year = int(input('Введите срок: '))
for _ in range(year):
money += money / 100 * 10
print('Сумма увеличится до: ' + str(money))
способ 1:
for cycle in range(num2):
# действия
способ 2:
cycle = 0
while cycle < num2:
# действия
cycle += 1
следующий способ небезопасный, поскольку могут быть такие num2, что из цикла и не выйти (есть num2 = 0 или действительному числу)
cycle = 0
while cycle != num2:
# действия
cycle += 1
способ 3:
cycle = num2
while cycle > 0:
# действия
cycle -= 1
Вынесите строчку num4 = num1/100*10 за пределы цикла:
#Вычисление 10% от введеного пользователем числа
num4 = num1/100*10
while num3 < num2:
#Вычисление увиличения суммы с учетом процетов
num4 = num4 + num1
Заодно можно упросить ее до num4 = num1/10.