Python_学习之流程控制

所谓的流程控制就是因果关系的定义,通过预先定义好因(符合某种条件),而执行某段逻辑,返回一个结果

目录:

  1. if……else条件判断语句

  2. while无限循环语句

  3. for……else有限循环语句

  4. 循环语句中的break,continue
    **
  5. if......else条件判断语句**
语法:

if  条件1:

  代码块

elif 条件2:

  代码块

……

else:

  代码块

注:单纯的if语句里,从上到下,只要符合其中一个条件,就不会再执行下面的条件了。
2. while 无限循环语句


# 语义
如果条件为真,就执行循环代码块,执行完成后再次循环,重新判断条件,继续执行,如果条件为假,则跳出循环

# 方式一
while  条件:

  代码块

# 方式二

while  条件成立时执行下面的代码块,不成立时执行else代码块,但一遇到break就直接退出循环,循环里的或else都不会执行:

  代码块

else:

  代码块

示例:

# while 各种情况运行结果:几种可能会忽视的例子
1、第一种情况
n = 1
while n < 5:
    n +=1
    print(n)    -----> 2,3,4,5

2、第二种情况
n = 1
while n < 5:
      print(n)  ------->1,2,3,4
      n +=1

3、第三种情况
while  n < 5:
 if  n == 3:
   break
   print(n)
 n +=1  
------->什么都没有,因为n =1或2时都不符合if条件,故不会执行里面的代码

4、第四种情况 (print()缩进很重要,缩进很重要,缩进很重要!!!)
while  n < 5:
 if  n == 3:
   break
 print(n)   --------->1,2
 n +=1
等效果下面if---else
while  n < 5:
 if  n == 3:
   break
 else:
   print(n)
 n +=1
注:if条件判断,一旦符合条件,就不会再去看其他条件了,故else也不会去执行了,只有在while或for循环中才会去执行。

5、第五种情况
while  n < 5:
  print(n)
  n +=1
else:
   print("没有break直接退出程序的话,当前面条件不符合时,会打印else后的信息")

>>> 1,2,3,4
>>> 没有break直接退出程序的话,当前面条件不符合时,会打印else后的信息

6、第六种情况
while  n < 5:
  print(n)
  n +=1
else:
   print("没有break直接退出程序的话,当前面条件不符合时,会打印else后的信息")
print("只要不出现死循环,不管前面程序执行如何,在while循环外的代码都会执行")  

 >>> 1,2,3,4
 >>> 没有break直接退出程序的话,当前面条件不符合时,会打印else后的信息
 >>>只要不出现死循环,不管前面程序执行如何,在while循环外的代码都会执行

3. for....else有限循环语句


语法格式:(同while循环,for循环是可控的循环,一般不作为无限循环)

s = "321"
counts = 0
if counts < len(s):
   for i in s:
       print("倒数第%s秒"%(i))
       counts += 1
   else:
       print("出发")
else:
  print("这个打印是不会显示的,因为if里执行了上面的条件,下面就不会去执行的")

4. 循环语句中的break,continue

break  跳出当前循环,不再执行
continue 跳出当前循环,执行下一次循环

for i in range(5):
   if i >= 3:
       print("goodbye")
       break
   else:
       print("just do it")

count = 100
while count:
   count -= 1
   if count > 50:
       print(f"The number:{count} is greater than 50")
       continue
   print(count)
   break
else:
   print("Guess if I can print")

猜你喜欢

转载自blog.51cto.com/15127518/2686547