Рост населения в Python
У меня есть задание, и я не могу понять, что не так:
Напишите программу на Python, которая вычисляет прирост населения.
- читать начальную популяцию
- почитай сколько поколений будет рассчитано
- спросить, хочет ли пользователь рассчитать другую популяцию Для каждого поколения популяция увеличивается на 10% за счет рождений и уменьшается на 2% за счет смертей. Оба числа будут округлены до ближайшего целого числа.
Я могу рассчитать первое поколение, но оно не вычисляет следующее поколение.
while True:
currentPopulation = int(input("\nWhat is the current population? "))
generations = int(input("\nHow many generations do you want to wait? "))
for newPopulation in range (1, (generations + 1)):
# calculate number of births (+10%) and add to population
births = currentPopulation + round(currentPopulation * 0.1)
# calculate the number of deaths (-2%) and subtract deaths from population
newPopulation = births - round(births * 0.02)
printResult = print(f"\nIf population is {currentPopulation} and you wait {generations} generation(s), there will be {newPopulation} of them.")
again = input("\n Do you want to calculate another population? (y/n) ")
if again.lower() == "n":
break
elif again.lower() == "y":
currentPopulation
else:
print("\nCalculating again...")
print("\nBye")
1 ответ
while True:
population = int(input("\nWhat is the current population? "))
currentPopulation = population
generations = int(input("\nHow many generations do you want to wait? "))
for _ in range(generations):
# calculate number of births (+10%) and add to population
births = currentPopulation + round(currentPopulation * 0.1)
# calculate the number of deaths (-2%) and subtract deaths from population
currentPopulation = births - round(births * 0.02)
print(
f"\nIf population is {population} and you wait {generations} generation(s), there will be {currentPopulation} of them.")
again = input("\n Do you want to calculate another population? (y/n) ")
if again.lower() == "n":
break
else:
print("\nCalculating again...")
print("\nBye")