Python也许不是最好的语言,但用的人一定是好人没错
python中的for循环没有像 for(n=1;n>3;n++)这样的循环方法,但提供了其他的方法,可以结合判断语句:in,not in,is,not is,函数:range()进行使用循环。
例子1】5以内的遍历
for
打印结果如图遍历5以内数字(range()未标明star,计数从0开始),i从0开始进行判断是否属于元组内,true,则执行打印行为并再次循环对比,否则跳出循环。
遍历5以内所有数字
例子2】5以内的阶乘
x
打印结果如图1x2x3x4x5的结果120,依次从1开始循环到5结束,每一次循环的结果都将X赋予新值并带入到循环当中,当循环到6时,i不属于元组内,跳出for循环并执行打印X结果。
5的阶乘
上面两个例子可以看出print()一个在for循环内,一个不再for循环内,两者执行的顺序是不一样的,由此可以推及理解for...else...循环。先看一个例子
例子3】:先在例子1】中假如else循环,看看结果
for
结果如图,同样先是依次执行循环遍历,当不满足条件时跳出for循环执行else循环。
for...else...【1】
例子4】:我们在例子3】for循环内加入if试试。
for
打印结果如图,可以看出,当满足条件 i==2时,才执行打印 i 行为,否则继续循环for...in,比较 i 是否在元组内,为True,才执行if,也就是满足两个条件才进行打印行为,当循环到 i 不在元组内时,才循环else。取决条件是for...in...为False,而不是if为False。
for...if...else
例子5】:接下来在例子4上的if内再加一个break试试
for
运行结果如图,当执行if内的print()之后,就跳出了for和else两个循环,而不是只是结束for...in...或者if循环。可以说明for和else是同级选择循环体系,可以理解为就想if...else...这种的。
for...if..break...else
可以根据以上做一个for...for...循环,做一个找出10以内的质数的循环。
例子6】10以内质数
for
运行结果如图
10以内质数
可以使用VScode工具或者其他的调试控制台,使用断点方法看他的运行步骤,以下给一种运行步骤的代码解释。运行结果可以清晰的看出运行的步骤
# 10以内质数,步骤记录分析
运行结果如图
10以内质数步骤