1.while循环:
语法:
while condition:
block
#当条件满足即condition为True,进入循环体,执行block
flag = 10
while flag:
print(flag)
flag -= 1
#给变量flag赋初始值10,作为循环的条件
#flag为正整数时,while的判断条件一直为真,直到flag=0
#flag -= 1,flag每次循环减一,该程序的结果就是竖着打印10~1这10个正整数
一个有意思的小例子:在下面的这个程序里,输入界面里不管输入什么东西,系统都会自动给你返回输入的信息。(死循环的巧妙用法)
2.for循环:
语法:
for element in iteratable:
block
#当可迭代对象中有元素可以迭代,进入循环体,执行block
for i in range(10):
print(i,end=' ')
#该程序的输出结果是 0 1 2 3 4 5 6 7 8
#这里注意range()函数的用法
3.continue语句:
中断当前循环的当次执行,继续下一次循环。
上述代码中i如果是奇数的话,那么对2取模的话为非0,if判断语句成立,我们就跳过当前的这次循环,继续下一次的循环。例如,i=1,1对2取模为非0,那么就continue,i返回range()中继续取值为2,2对2取模为0,if 0为假不成立,那么就执行print()语句。
for i in range(10)
if i&0x01:
continue
print(i)
#这里需要注意的是&符号是位运算中的与的意思。
#这个程序的核心思想就是将正整数拆分成二进制与1的二进制进行与运算。
#因为1的二进制除了最后一位是1外,其余的全是0,其余正整数与之相与只需判断最后一位的与的结果是否为0即可,这样的话也可以判断奇偶数。
#从操作系统方面来讲,这样的代码更具效率。
4.break语句:
终止当前循环。这里要注意与continue的区别,break是终止离自己最近的整个循环。
上述的程序是求取1000内被7整除的前20个数。这里需要引入计数count的问题,因为需求是前20个数字。
5.else子句:
语法:
1 while condition:
2 block
3 else:
4 block
5 for element in iteratable:
6 block
7 else:
8 block
如果循环正常的执行结束,就执行else子句;如果使用break终止,else子句不会执行。