Python的while循环的嵌套错误原因在哪里?

Python:模拟细菌生长,嵌套while循环,逻辑错误


我必须将细菌生长建模为光密度的函数。问题很简单:对于用户指定的每一小时,表中每个单元格的OD都会增加5%;当单元格的OD达到1.0时,多余的部分分配给溢出单元格的N,E,S和W。如果它们均为1.0,则不会再发生增长。OD表是正方形的,可以是任何尺寸,并且不会缠绕。

array3是OD的初始表,而length是行和列的数量。我知道我在嵌套的while循环中犯了一个逻辑错误,因为只有第一行会更新,并且只有一次:


正如注释中已经指出的那样,问题在于您在循环中增加了计数器变量,但是没有在下一次迭代之前将它们重置为其原始值。i = 0之前添加while i<length(和相似j)可以解决您的问题,但我建议改用for循环,遍历range变量应采用的值。

如您所见,我进行了一些其他更改:

  • 非常有用,例如用于迭代两个变量(例如i和)的乘积j
  • 您可以使用min内置函数来限制增长1.0
  • 遍历所有的“增量”,ij不是对所有4个邻居具有相同的代码

关注本站官方公众号:程序员总部,领取三大福利! 福利一:python和前端辅导 福利二:进程序员交流微信群,专属于程序员的圈子 福利三:领取全套零基础视频教程(python,java,前端,php)
关注公众号回复python,免费领取,回复充值+你的账号,免费为您充值1000积分


所属网站分类: 技术文章 >


}

Python 靠缩进来控制是不是同一个语句块。

你的if 和 else 应该使用相同的空格缩进。修改一下,即可。

}

定义:循环结构就是重复执行某段代码块

使用循环结构的原因:模仿人类做重复做某件事情

while的运行步骤: 步骤1:如果条件为真,那么依次执行:代码1、代码2、代码3、...... 步骤2:执行完毕后再次判断条件,如果条件为True则再次执行:代码1、代码2、代码3、......,如果条件为False,则循环终止 # 纯计算无io的死讯会导致致命的效率问题

2、输对了应该不用再重复

# 方式一:将条件改为False,等到下次循环判断条件时才会生效
 tag = False# 之后的代码还会运行,下次循环判断条件时才生效
# 方式二:break,只要运行到break就会立刻终止本层循环

4、while循环嵌套与结束

# 每一层都必须配一个break break# 用于结束本层循环,即第二层循环 break # 用于结束本层循环,即第一层循环

强调:在continue之后添加同级代码毫无意义,因为永远无法运行

# print('else包含的代码会在while循环结束后,并且while循环是在没有被break打断的情况下正常结束的,才不会运行')
# 如果执行过程中被break,就不会执行else的语句
打印结果:0 ,1,2,3

案例:输错三次密码退出

for循环:循环结构的第二种实现方式

使用for循环的原因:在循环取值(即遍历值)时for循环比while循环的使用更为简洁,

for 变量名 in 可迭代对象: # 可迭代对象可以是字符串\列表\字典\元组\集合
# 参照例1来介绍for循环的运行步骤
# 步骤1:从列表['a','b','c']中读出第一个值赋值给item(item=‘a’),然后执行循环体代码
# 步骤2:从列表['a','b','c']中读出第二个值赋值给item(item=‘b’),然后执行循环体代码
# 步骤3: 重复以上过程直到列表中的值读尽

案例1 打印数字0-5

# 简单版:for循环的实现方式
# 复杂版:while循环的实现方式
# 复杂版 :while可以遍历字典,但过于麻烦

案例3:字符串循环取值

1、相同之处:都是循环,for循环可以干的事,while循环也可以干

while循环称之为条件循环,循环次数取决于条件何时变为假

for循环称之为"取值循环",循环次数取决in后包含的值的个数

in后直接放一个数据类型来控制循环次数有局限性:当循环次数过多时,数据类型包含值的格式需要伴随着增加

print('输错账号密码次数过多')

1、for搭配range,可以按照索引取值,但是麻烦,所以不推荐

for循环嵌套:外层循环循环一次,内层循环需要完整的循环完毕

补充:终止for循环只有break一种方案

  • 循环结构 要么痛苦的坚持游戏结束 可能会升级 要么结束游戏继续的痛苦 可能有遗憾 知识点 (1) . whil...

  • 循环结构要么痛苦的坚持游戏结束 可能会升级要么结束游戏继续的痛苦 可能有遗憾知识点(1) . whil...

  • python中的分支结构只有if语句,没有switch 1、什么时候需要使用if如果做某件事情(执行某段代码)需要...

  • 第一题:语法练习 语法点:运算符,while,if 按步骤编写代码,效果如图所示: 编写步骤:定义类 Test1定...

  • 你的內在女神盤是,kin189。 我得到你的讀音授權,感謝你授權同意我讀解。 你的問題:我靈修路上有個大卡點,使我...

  • 夫妻是建立在婚姻的基础上,和谐的夫妻关系是婚姻得以持续的重要保障?那什么是夫妻关系呢?通过自己一年多的婚姻生活,总...

  • 你有没想过自己想要什么? 我一直觉得自己还算一个蛮知道自己要什么的人:小时候上学要老师关注,工作了要有趣又有所挑战...

}

我要回帖

更多关于 嵌套while解析 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信