说明
程序的控制结构分为三种:顺序结构、分支结构、循环结构

  • 顺序结构

image.png

  • 分支结构

image.png

  • 循环结构

image.png

程序的分支机构

单分支结构

if <条件>:
<语句块>

  1. guess = eval(input())
  2. if guess==99:
  3. print("猜对了")

二分支结构

if <条件>:
<语句块1>
else:
<语句块2>

  1. guess1 = eval(input())
  2. if guess1 == 99:
  3. print("猜对了")
  4. else:
  5. print("猜错了")
  6. #紧凑形式:适用于简单表达式的二分支结构
  7. guess2 = eval(input())
  8. print("猜{}了".format("对" if guess==99 else "错"))

多分支结构

if <条件1>:
<语句块1>
elif <条件2>:
<语句块2>
……
else:
<语句块N>

  1. score = eval(input())
  2. if score >= 60:
  3. grade = "D"
  4. elif score >= 70:
  5. grade = "C"
  6. elif score >=80:
  7. grade = "B"
  8. elif score >=90:
  9. grade = "A"
  10. print("输入成绩属于级别{}".format(grade))

条件判断及组合

操作符 数学符号 描述
< < 小于
<= 小于等于
>= 大于等于
> > 大于
== = 等于
!= 不等于
操作符及使用 描述
x and y 两个条件x和y的逻辑:与
x or y 两个条件x和y的逻辑:或
not x 条件x的逻辑:非
  1. guess = eval(input())
  2. #如果用户输入的分数大于99分或小于99分,输出“猜错了”!
  3. if guess > 99 or guess < 99:
  4. print("猜错了")
  5. else:
  6. print("猜对了")

程序的异常处理

image.png

  • 异常处理的一般使用

try:
<语句块1>
except <异常类型,可省略>:
<语句块2>

  1. try:
  2. num = eval(input("请输入一个整数"))
  3. print(num**2)
  4. except:
  5. print("输入的不是整数")
  6. try:
  7. num = eval(input("请输入一个整数"))
  8. print(num**2)
  9. except NameError: #标注异常类型后,仅响应此异常,异常类型名字等同于变量名
  10. print("输入的不是整数")
  • 异常处理的高级使用

try:
<语句块1>
except:
<语句块2>
else:
<语句块3>
finally:
<语句块4>

else对应语句块3在不发生异常时执行 finally对应语句块4一定执行

程序的循环结构

遍历循环

for <循环变量> in <遍历机构> :
<语句块>

  • 从遍历结构中逐一提取元素,放在循环变量中

image.png

  • 由保留字 for 和 in 组成,完整遍历所有元素后结束
  • 每次循环,所获得元素放入循环变量,并执行一次语句块 ```python

    计数循环(N次),由range()函数产生的数字序列,产生循环

    for i in range(N):

    语句块

计数循环(特定次)

for i in range(M,N,K):

  1. #语句块

字符串遍历循环

for c in s: #s是字符串,遍历字符串每个字符,产生循环

#语句块

列表遍历循环

for item in ls: #ls是一个列表,遍历其每个元素,产生循环

#语句块

文件遍历循环

for line in fi: #fi是一个文件标识符,遍历其每行,产生循环

#语句块

<a name="RB0qq"></a>
#### 无限循环
while <条件>:<br /><语句块><br />反复执行语句块,直到条件不满足时结束
```python
a = 3
while a>0:
    a = a - 1
    print(a)

循环控制保留字

break和continue

  • break跳出并结束当前整个循环,执行循环后的语句
  • continue结束当次循环,继续执行后续次数循环
  • break和continue可以与for和while循环搭配使用

image.png
image.png

循环的高级用法

  • 当循环没有被break语句退出时,执行else语句块
  • else语句块作为“正常”完成循环的奖励
  • 这里else的用法与异常处理中else用法相似 ```python for c in “PYTHON”: if c==”T”:
      continue
    
    print(c,end=””) else: print(“正常退出”)

    输出 PYTHON正常退出

for c in “PYTHON” if c == “T”: break print(c,end=””) else: print(“正常退出”)

输出 PY

```