python - 如何修复只运行一次的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
了,但所有循环仍然只在第一次运行。
解决方案
在第一个循环中,中国 = 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。
推荐阅读
- php - 在 PHP 中转义特殊字符
- azure - 备份 Azure Analysis Services 表格模型
- java - Spring Boot 实体和 OneToMany 连接:如何获取所需信息?
- python - 列表中 Python 中的 Sumifs 函数
- c++ - 标准整数类型前面的命名空间
- flutter - 在接受后请求对颤动的许可会创建新的页面实例
- asp.net-mvc - 在 LINQ 中使用 group by 排序并加入
- c# - 不使用 Web API 的主动通知
- wordpress - Wordpress 热门帖子将 img src 替换为 data-src?
- r - R计算事件日周围的天数