程序的控制结构

时间:2022-09-08 17:51:33

一、程序的分支结构

1.单分支结构

  根据判断条件结果而选择不同向前路径的运动方式

  if <条件>:

    <语句块>

示例:

guess = eval(input())
if guess == 99:
    print("猜对了")

2.二分支结构

2.1常规形式

  根据判断条件结果而选择不同向前路径的运动方式

  if <条件>:

   <语句块1>

  else:

   <语句块2>

  程序的控制结构

示例:

guess = eval(input())
if guess == 99:
    print("猜对了")
else:
    print("猜错了")

2.2紧凑形式

  适用于简单表达式的二分支结构

  <表达式1> if <条件> else<表达式2>

示例:

guess = eval(input("请输入:"))
print("猜{}了".format("" if guess == 99 else ""))

 

3.多分支结构

  if <条件> :

    <语句块1>

  elif:

    <语句块2>

    ......

  else:

    <语句块3>

示例:

#对不同分数分级的问题
score = eval(input("请输入数字:"))
if score >= 60:
    grade = "D"
elif score >= 70:
    grade = "C"
elif score >= 80:
    grade = "B"
elif score >= 90:
    grade = "A"
print("输入成绩属于级别{}".format(grade))

-注意多条件之间的包含关系

-注意变量取值范围的覆盖

-分支结构是程序的 重要框架,读程序先看分支

4.条件判断及组合

4.1操作符

操作符   数学符号  描述
< < 小于
<=
小于等于
>
大于等于
== = 等于
!= 不等于

4.2用于条件组合的三个保留字

操作符及使用 描述
x and y 两个条件x和y的逻辑
x or y 两个条件x和y的逻辑
not  条件X的逻辑

示例:

guess = eval(input("请输入数字:"))
if guess == 99 or guess < 99:
    print("猜对了")
else:
    print("猜错了")

 

5.程序的异常处理

5.1异常处理的基本使用

  try:                try:

    <语句块1>            <语句块1>

  except:              except <异常类型>:

    <语句块2>              <语句块2>   

示例1:

try:
    num = eval(input("请输入一个整数:"))
    print(num**2)
except:
    print("输入不是整数")

示例2:

try:
    num = eval(input("请输入一个整数:"))
    print(num**2)
except NameError:   #标注异常类型后,仅响应该异常;异常类型名字等同于变量。
    print("输入不是整数")

5.2异常处理的高级使用

try:

  <语句块1>

except:

  <语句块2>

else:

  <语句块3>

finally:

  <语句块4>

 

-finally对应语句块4一定执行

-else对应语句块3在不发生异常时执行

6.小结

  -单分支if 二分支if-else及紧凑形式

  -多分支 if-elif-else及条件之间的关系

  -not and or  >  >=  ==  <=  <  !=

  -异常处理 try-except-else-finally

 

二、程序的循环结构

1.遍历循环

 遍历某个结构形成的循环运行方式

 

  for  <循环变量>  in <遍历结构>:

 

    <语句块>

 

-由保留字for和in组成,完整遍历所有元素后结束

 

-每次循环,所获得元素放入循环变量,并且、执行一次语句块

 

1.1 遍历循环的应用

1.1.1计数循环(N次)
for i in range(N):
<语句块>

-遍历由range()函数产生的数字序列,产生循环

 

示例:

for i in range(5):
    print(i,end=" ") >>>1 2 3 4 5

 

1.1.2字符串遍历循环
for c in S:
<语句块>
-S是字符串,遍历字符串每个字符,产生循环

示例:
for c in "python123":
    print(c,end=",") >>>p,y,t,h,o,n,1,2,3,

 

1.1.3列表遍历循环
for item in ls :
  <语句块>

-ls是一个列表,遍历其每个元素,产生循环

示例:
for item in [123,"py",456] :
    print(item,end=",") >>>123,py,456,

  

1.1.4文件遍历循环 
for line in fi :
  <语句块>
-fi是一个文件标识符,遍历其每行,产生循环

示例:略

2.无限循环

 由条件控制的循环运行方式

  while <条件>:

 

    <语句块>

 

-反复执行语句块,直到条件不满足时结束

 

示例: 

a=3
while a > 0:
    a = a-1
    print(a,end=",") >>>2,1,0

  

3.循环控制保留字

 break 和 continue

-break跳出并结束当前整个循环,执行循环后的语句

-continue结束当次循环,继续执行后续次数循环

-break和continue可以与for和while循环搭配使用

 

示例:

continue的使用:

#continue的使用
for c in "python":
    if c == "t": continue print(c,end="") >>>pyhon,

 

break的使用:

#break的使用
for c in "python":
    if c == "t": break print(c,end="") >>>py

 

循环嵌套:

s = "python"
while s  != "":
    for c in s : print(c,end="") s = s[:-1] >>>pythonpythopythpytpyp 
s = "python"
while s  != "":
    for c in s : if c == "t": break #break仅跳出当前最内层循环 print(c,end="") s = s[:-1] >>>pypypypypyp

 

4.循环的高级用法

  循环与else

 

for与else搭配
while与else搭配
for <循环变量> in <遍历结构>:
<语句块1>
else:
<语句块2>
while <条件>:
<语句块1>
else:
<语句块2>

 


-当循环没有被break语句退出时,执行else语句块
-else语句块作为"正常"完成循环的奖励
-这里else的用法与异常处理中else的用法相似

示例:

continue结束当次循环 

#continue结束当次循环
for c in "python":
    if c == "t": continue print(c,end="") else: print("正常退出") >>>pyhon正常退出

 

 break结束当前整个循环

#break结束当前整个循环
for c in "python":
    if c == "t": break print(c,end="") else: print("正常退出") >>>py

5.小结

-for...in 遍历循环:计数、字符串、列表、文件...
-while无限循环
-continue和break保留字:退出当前循环层次
-循环else的高级用法:与break有关