我是蟒蛇的新手,我在这里遇到了这个问题,假设一个国家的人口是8万人,每年的增长率为3%,而B国的人口是5万人,增长率尚不清楚。
制作一个读取B城市人口增长率估计值的程序,根据增长率,您的程序应该:
增长率将以大于0的浮动形式提供,这代表了B市增长率的百分比。
a = 80000
b = 50000
an = 0
while b <= a:
a = a*0.03
b = b*float(input())/100
an += 1
if a > b:
print("A populacão de B não vai ultrapassar")
if b > a:
print("A populacão da cidade de B vai ultrapassar em'{} anos.".format(an))我想得到的输出是,在这个程序中,人口B的X年超过人口A,其中X将被替换为实际所需的年数。
发布于 2019-07-12 09:45:34
有了a和b的固定值,一个简单的方法就是。
a_population = 80000
b_population = 50000
A_GROWTH_RATE = 0.03
B_GROWTH_RATE = float(input()) / 100
if a_population > b_population and A_GROWTH_RATE >= B_GROWTH_RATE:
print("A populacão de B não vai ultrapassar")
else:
years = 0
while b_population <= a_population:
a_population += a_population * A_GROWTH_RATE
b_population += b_population * B_GROWTH_RATE
years += 1
print("A populacão da cidade de B vai ultrapassar em'{} anos.".format(years))发布于 2019-07-14 23:02:35
当然,不用使用循环,您可以使用一个简单的公式:
import math
a = 80000
b = 50000
pcent_b = float(input())/100
a_growth = 1.03
b_growth = 1 + pcent_b
anos = math.ceil(math.log(b/a, a_growth/b_growth))
if anos > 0:
print("A população da cidade B vai ultrapassar em {} anos.".format(anos))
else:
print("A população de B não vai ultrapassar.")https://stackoverflow.com/questions/56989457
复制相似问题