2016-10-19 5 views
-1

I have no idea what is wrong in there人口は2倍になりました。年数は2倍になりました

私はすでにyear_1で現在のポップ時代を好きにしました。しかし、それは私に年= 1を与え続ける

+0

はあなたのコードを貼り付けた画像を提供しないでください – TheoretiCAL

+0

あなたのコードが主張するように、人口が毎年2倍になると、人口が2倍になるのにちょうど1年かかるので、 '1 'の結果が得られます! –

答えて

0

あなたのプログラムの問題は、人口が毎年倍増すると仮定することです!もちろん、そのような条件の下では、人口は正確に1年で倍増します。ありがたいことに、私たちの状況はとても悲惨ではありません。世界銀行から提供されたデータによると、世界の人口増加率は年間で1.182% in 2015であった。

ループが不必要に複雑になりましたが、もっと重要なのはテストが間違っていたことです。あなた(および以前の答えは)持っていた:

while current_pop != doubled_pop: 

しかし、人口が便利正確な年の分裂をダブル初期集団に着地速度で成長することはほとんどありませんので、このテストは通常​​、失敗します。あなたは不平等を使用する必要があります。ここでは

while current_pop < doubled_pop: 

は働くプログラムです:

current_pop = 7370000000 
growth_rate = 0.01182 
print "So the current population is", str(current_pop) 
doubled_pop = 2 * current_pop 
year = 0 
while current_pop < doubled_pop: 
    current_pop = current_pop + (current_pop * growth_rate) 
    year += 1 

print year 

そして、ここでは、出力されます。

So the current population is 7370000000 
59 
関連する問題