首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在这里使用.format?

如何在这里使用.format?
EN

Stack Overflow用户
提问于 2019-07-11 12:41:06
回答 2查看 88关注 0票数 0

我是蟒蛇的新手,我在这里遇到了这个问题,假设一个国家的人口是8万人,每年的增长率为3%,而B国的人口是5万人,增长率尚不清楚。

制作一个读取B城市人口增长率估计值的程序,根据增长率,您的程序应该:

  • 检查按报告的增长率,B市的人口将超过A市的人口;
  • 如果没有超过B城市的人口,您的程序应该打印“B的人口将被克服”。
  • 如果B市的人口超过,你的程序应该打印“B城市的人口将超过X年",其中X必须被B超过A城市的年数所取代。

增长率将以大于0的浮动形式提供,这代表了B市增长率的百分比。

代码语言:javascript
复制
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将被替换为实际所需的年数。

EN

回答 2

Stack Overflow用户

发布于 2019-07-12 09:45:34

有了a和b的固定值,一个简单的方法就是。

代码语言:javascript
复制
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))
票数 0
EN

Stack Overflow用户

发布于 2019-07-14 23:02:35

当然,不用使用循环,您可以使用一个简单的公式:

代码语言:javascript
复制
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.")
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56989457

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档