Python基础三(选择,循环)

时间:2023-03-09 17:07:51
Python基础三(选择,循环)



  首先我们知道程序的执行有三种结构:顺序、选择、循环三种结构,而为了方便我们书写和多次利用我们就需要把一段代码封装器来,这就是方法。今天我就说的是程序的基本结构的格式和方法。

  注:所有的程序都可以通过基本结构(顺序,选择,循环)书写出来。

流程结构

顺序结构语句

  • 1:什么是流程控制语句
    • 流程控制语句:可以控制程序的执行流程。
  • 2:流程控制语句的分类
    • 顺序结构
    • 选择结构
    • 循环结构
  • 3:执行流程:
    • 从上往下,依次执行。

选择结构语句

if 语法

  • if-else的使用格式
if 条件:
满足条件时要做的事情1
...(省略)...
else:
不满足条件时要做的事情1
...(省略)...
  • elif的功能
if 条件1:
满足条件1时要做的事情
...
elif 条件2:
不满足条件1,满足条件2时要做的事情
...
else:
不满足条件1,2时要做的事情
...

and...or语法

   Python的and/or操作与其他语言不同的是它的返回值是参与判断的两个值之一,所以我们可以通过这个特性来实现Python下的 a ? b : c !

  Python下我们可以这么用:“ a and b or c ”(此方法中必须保证b必须是True值),python自左向右执行此句,先判断a and b :如果a是True值,a and b语句仍需要执行b,而此时b是True值!所以a and b的值是b,而此时a and b or c就变成了b or c,因b是True值,所以b or c的结果也是b;如果a是False值,a and b语句的结果就是a,此时 a and b or c就转化为a or c,因为此时a是 False值,所以不管c是True 还是Flase,a or c的结果就是c

当bool and a or b相当于bool? a: b

注:但是特殊情况是,若a为假,则不会相当于,而是返回b

解决办法:用 (bool and [a] or [b])[0]代替

循环结构

while语法

while 条件:
条件满⾜时,做的事情1
条件满⾜时,做的事情2
条件满⾜时,做的事情3
...(省略)...

for语法

for 临时变量 in 列表或者字符串等:
循环满⾜条件时执⾏的代码
else:
循环不满⾜条件时执⾏的代码

例子

 name = 'dongGe'

    for x in name:
print(x)

break的作⽤:⽤来结束整个循环

continue的作⽤:⽤来结束本次循环,紧接着执⾏下⼀次的循环

Python 跳出多重循环

方法1:自定义异常

# -*- coding:utf-8 -*-
"""
功能:python跳出循环
"""
# 方法1:自定义异常 class Getoutofloop(Exception):
pass
try:
for i in range(5):
for j in range(5):
if i == j == 2:
raise Getoutofloop()
else:
print (i, '----', j)
except Getoutofloop:
pass

方法2:将循环封装为函数,return

# -*- coding:utf-8 -*-  

"""
功能:python跳出循环
"""
# 方法2:封装为函数,return def test():
for i in range(5):
for j in range(5):
if i == j == 2:
return
else:
print (i, '----', j) test()

方法3:用for...else...语句

# -*- coding:utf-8 -*-  

"""
功能:python跳出循环
"""
# 方法2:for...else...用法,用于跳出指定循环层 for i in range(5):
for j in range(5):
for k in range(5):
if i == j == k == 3:
break
else:
print (i, '----', j, '----', k)
else: # else1
continue
break # break1
else: # else2
continue
break # break2

方法3解释:

  • (1)break能跳出某一重循环(该重循环的本次及剩余次数都不再执行),但并不能跳出该重循环的其他外重循环。

      例如,最内第3重循环break之后,程序返回第2重循环继续执行第2重的下一次,然后第3重循环将再次执行。

  • (2)continue是跳过某一重循环的某一次,但该重循环的剩余次数会继续执行。

  • (3)for...else:其中else块中的语句将在for循环完整执行过之后才会被执行,如果for循环被break,则else块将不会被执行。

  • (4)方法3中,当第3重循环满足i == j == k ==3时,第3重循环被break,则并列的else1将跳过,执行break1,导致第2重循环被终止,则else2被跳过,执行break2,导致第1重循环被终止。最终实现跳出整个循环。

  for...else加break举例

# -*- coding:utf-8 -*-  

"""
功能:for...else语句
""" for i in range(5):
print i
else:
print u"循环完整执行一次。" for j in range(6):
for k in range(6):
print j, k
if j == 3:
print u"内重循环即将被break"
break
else:
print u"内重循环完整执行一次。"
else:
print u"外重循环完整执行一次。"