首页 > 解决方案 > 如何修复只运行一次的while循环?

问题描述

我试图计算印度在人口上超过中国需要多长时间。不过,我的 while 循环只执行第一次迭代。

我尝试设置一个while循环在循环本身内执行,但它只是变成了一个无限循环。我也尝试过print在循环内外缩进语句。

China=1.415
Cgrowth=.39
India=1.354
Igrowth=1.11
count=0
while India<China :
     China += Cgrowth*China
     India += Igrowth*India
     count += 1

print(count)

我的输出总是以 1 结尾。我做了数学计算,即使在一个循环之后,该语句仍然是正确的,那么为什么print(count)在循环条件为假的情况下是 rin 呢?我也试过India*=Igrowth了,但所有循环仍然只在第一次运行。

标签: python

解决方案


在第一个循环中,中国 = 1.415 & 印度 = 1.354,因此条件将验证为 True 并运行循环。这将启动对印度和中国变量的以下重新计算。

China = 1.415 + .39*1.415
China = 1.415 + .55185
China = 1.96685

India = 1.354 + 1.11*1.354
India = 1.354 + 1.50294
India = 2.85694

因此,在第二个循环中,China = 1.96685 & India = 2.85694,因此条件不会验证为 True,并且会在第一个循环之后返回计数,即 1。


推荐阅读