while和for在何时使用
一定要清晰什么时候下使用while,什么情况下使用for。
for循环:对于一个已知的数据量大小,如果要一次查找里面的数据,就可以使用遍历循环,比如这些数据就可是字符串,字典,列表等我们熟悉的一些用来放数据的结构;
while循环:一般使用是在不明确有多少数据,或者操作的具体步骤的次数不知,又或者不知道是属于哪种数据类型就可以使用,比如之前作业里面对于输入年龄和性别的判断,就有同学使用了while做为判断,其实while使用场所最多的就是警报,提醒程序的编写,当到了某个阈值的时候,系统报警等
一句话终结就是:for做遍历循环,while做判断循环
while的正确使用方式
while语句执行的过程就是贴标签和运行标签的过程,下面先给出代码,然后详解
Flag = True
ls = list(range(10))
ls_odd = []
ls_even = []
while Flag:
for i in ls:
if i % 2 == 0:
ls_even.append(i)
Flag = False
else:
ls_odd.append(i)
Flag = False
print("奇数列表为:{}\n偶数列表为:{}".format(ls_odd,ls_even))
步骤分解:
分解一、第一句写标签 Flag = True(我习惯把标签写为True,当然也可以写为False,区别在于我在下面的while语句里面不用加not的,如果写False的话,需要加,然后就是其余是False的地方替换成True),这里建议写成True,以为少写一个not语句,要知道写代码讲究效率,一个词也算
分解二、在while前添加记录数据的容器,一般是在while循环之前加,有些任务是要在while里面,但是大多数是在之前加,这样确保每个数据到可以添加到容器内
分解三、while Flag:也就是while True:,程序进入循环的模式
分解四、代码就像平时正常语句写就是了,没有一点变化,只不过是缩进的问题,重要的是,如果满足这个条件或者想对这部分代码进行操作时,那么要在这部分代码结束的最后一行代码后,贴标签,也就是输入Flag = False即可
–> 输出结果为:
刚好前两天群里有位同学(翻了好久是134公子老张,特此表扬一下)提供一段代码让我修改,就是只有缩进的问题,修改后就没有问题了,他的用法和我写的相反,贴的是True标签,大家可以看一下: