Почему мой цикл Python While выполняет больше, чем необходимо?Python

Программы на Python
Ответить
Anonymous
 Почему мой цикл Python While выполняет больше, чем необходимо?

Сообщение Anonymous »

У меня возникла небольшая проблема со следующим кодом Python, который должен использовать цикл while и давать мне количество времени в годах, которое потребуется для удвоения инвестиций при заданной годовой процентной ставке.

Код: Выделить всё

initialInvestment = 10
intRate = 2

newBalance = initialInvestment
years = 0

if initialInvestment > 0: # Make sure user has a valid investment balance
while newBalance < (2 * initialInvestment):
newBalance += (newBalance * (intRate/100)) # Update balance
years += 1
print(f'At {years} year(s), you would have ${newBalance:,.2f}')
else:
print(f'Please enter an investment amount greater than zero.')

print(f'It would take {years} years to double your investment of ${initialInvestment:,.2f} at {intRate}%."')
Я использовал оператор печати в цикле while для отслеживания баланса и лет и заметил, что код добавляет дополнительный год перед выходом. Например, я использовал 10 долларов в качестве первоначальной инвестиции и 2% в качестве процентной ставки. Оператор печати показывает, что через 35 лет newBalance составит 20 долларов, что ровно вдвое больше, чем начальные инвестиции, но цикл выполняется еще раз. Я даже изменил условие, чтобы сказать while ... и newBalance != (2 * InitialInvestment), и код не остановился на 35 годах.
Признаюсь, мне не нужно отслеживать годовой баланс, поэтому я мог бы инициализировать годы до -1, но я бы предпочел понять, в чем проблема и как ее исправить.
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»