python中的循环

一  while循环

    语法:     

    while condition:

            block

    当条件满足,即condition为Ture,进入循环体,执行block

  例:

flag = 10
while flag:
   print(flag)
   flag -= 1

其执行结果为

10
9
8
7
6
5
4
3
2
1

    解释:首先flag为10,在condition中为10,condition is ture, 则执行block,随后,flag-1,变为9了,condition is true,打印,随后循环此条件,直到condition is faluese,终止循环,即flag=0的时候,while flag则不进入循环

下面思考若是flag=-10是怎样的?

flag=-10
while flag:
   print(flag)
   flag += 1
    此时为-10了,执行结果+1,才不会进入死循环.



二* for 循环

  语法:

   for element in iteratable:

                block

   当迭代对象中有元素可以迭代,进入循环体,执行block

         iteratable:可迭代的

例:

 

for i in range(10):
   print(i)

   打印了1~10   理解可迭代对象为0之后,则循环终止了

  考虑为什么,如果倒序打印要怎么打印?

倒序打印我的方法是包含乘法的,不太好,如下

if i in range(10):
  print((i-10)*(-1))

了解下面的意思:

if i in range(5):
   print('welcome')

  在这里面没有引用i,而是用的'welcome' ,这表示i只是记个数嘛

下面是倒序打印简单的方法:

for i in range(10,0,-1):
    print(i)

让其步跳为-1,打印10-0出来


循环中的continue语句:终端当前循环的当次执行,继续下一次循环.

例:计算十以内的偶数

  方法一

for i in range(0,11,2):
    print(i)

方法二

for i in range(10):
    if not i%2:
       print(i)

双重否定表示肯定, if not i%2 ,众所周知,if后面的condition需要为True方才执行,当对把i除以2取余数的时候,余数为0,则表示i为偶数,但if后为0表示Faluse, if不执行,所以在i的后面加not表示不是0,反之亦然.

方法三 利用continue

for i in rang(10):
    if i%2:
       continue
    else:
       print(i)

解释:让前者执行的block全部不打印,打印剩下的,前面打印出来的是奇数

可以更精简一点

for i in range(10):
   if i%2:
      continue
      print(i)

其他方法:

for i in range(10):
    if i&0x01:
       continue
    print(i)

此方法为按位与,用1和符合条件的其他任何数字按位相与,筛选奇偶只需要末位相与,和1末位相与后,打印出来的为奇数,故continue,直接打印偶数,这种方法在计算机中运算速度很快.

可精简为:

for i in range (10):
    if i & 1:
       continue
    print(i)


循环中的break语句:终止当前循环

例:计算1000以内的能被7整除的前20个数;

count = 0
for i in range(0,1000,7):
    print(i)
    count += 1
    if count >= 20:
        break


总结:

1. continue和break是循环的控制语句,只影响当前循环,包括if和while循环.

2. 如果循环嵌套,continue和break也只影响语句所在的那一层.

3.continue和break不是跳出语句块,所以if condition: break不是跳出if,而是终止if外的break所在的循环.

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值