Python Прогноз роста численности организма - PullRequest
0 голосов
/ 13 февраля 2020

Входные данные будут:

Начальное количество организмов. Скорость роста (действительное число больше 1). Количество часов, необходимое для достижения этой скорости. Число часов, в течение которых популяция растет

У меня есть:

Population = int(input("The initial number of organisms: " ))
RateOfGrowth = int(input("The rate of growth (a real number > 0): " ))
HrToAchieve = int(input("The number of hours it takes to achieve this rate: " ))
Input_Hrs = int(input("Enter the total hours of growth: " ))

NewGrowth = 0
Passes = Input_Hrs/HrToAchieve

while Passes > 0:
    NewGrowth = (Population * RateOfGrowth)-Population
    Population += NewGrowth
    Passes -= 1

print("The total population is", Population )

Новый в циклах и не уверен, как я пропускаю проход, частично работая с вводом 10,2,2,6, обеспечивая правильный ответ 80

Но при использовании 100 организмов с темпом роста 5 в течение 2 часов в течение 25 часов, я получаю 7000 НЕ 24414062500, что было бы правильно.

1 Ответ

1 голос
/ 13 февраля 2020

Вы можете сделать это в одной строке, и я предполагаю, что если скорость роста x присутствует в y часах и осталось менее y часов, то никакого роста вообще не будет.

import math

ORG = int(input("The initial number of organisms: " ))
GR = int(input("The rate of growth (a real number > 0): " ))
GR_Hr = int(input("The number of hours it takes to achieve this rate: " ))
PG_Hr = int(input("Enter the total hours of growth: " ))

Growth = ORG * int(math.pow(GR, PG_Hr//GR_Hr))  # or Growth = ORG * int(GR ** (PG_Hr // GR_Hr))

РЕДАКТИРОВАНИЕ С ИСПОЛЬЗОВАНИЕМ ЦИКЛОВ

Growth_using_loops = ORG
loop_counter = PG_Hr//GR_Hr # double slash // returns a integer instead of float
for i in range(loop_counter):
    Growth_using_loops = Growth_using_loops * GR


print(Growth)
print(Growth_using_loops)

Выход:

The initial number of organisms: 100
The rate of growth (a real number > 0): 5
The number of hours it takes to achieve this rate: 2
Enter the total hours of growth: 25
24414062500
24414062500
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...