python-2.程序的控制结构

一、程序的分支结构

1.1 单分支结构

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

image

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

if True:
print("条件正确")
1.2 二分支结构

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

image

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

if True:
print("语句块1")
else :
print("语句块2")
  • 紧凑形式:适用于简单表达式的二分支结构

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

guess = eval(input())
print("猜{}了".format("对" if guess==99 else "错"))
1.3 多分支结构

对不同分数分级的问题

  • 注意多条件之间的包含关系
  • 注意变量取值范围的覆盖

image

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))
1.4 条件判断及组合
  • 条件判断
操作符数学符号描述
<<小于
<=小于等于
>=大于等于
>>大于
===等于
!=不等于
  • 条件组合

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

操作符及使用描述
x and y两个条件x和y的逻辑
x or y两个条件x和y的逻辑
not x条件x的逻辑
  • 条件判断及组合
guess = eval(input())
if guess > 99 or guess < 99:
print("猜错了")
else :
print("猜对了")

if not True:
print("语句块2")
else :
print("语句块1")
1.5 程序的异常处理
num = eval(input("请输入一个整数: "))
print(num**2)

当用户没有输入整数时,会产生异常,怎么处理?

image

异常处理的基本使用

try :
    <语句块1>
except :
    <语句块2>

例:
    try :
        num = eval(input("请输入一个整数: "))
        print(num**2)
    except :
        print("输入不是整数")
try :
    <语句块1>
except <异常类型> :
    <语句块2>

# 标注异常类型后,仅响应该异常异常类型名字等同于变量

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

异常处理的高级使用

  • finally对应语句块4一定执行
  • else对应语句块3在不发生异常时执行
try :
    <语句块1>
except :
    <语句块2>
else :
    <语句块3>
finally :
    <语句块4>

二、程序的循环结构

  • 遍历循环
  • 无限循环
  • 循环控制保留字
  • 循环的高级用法
2.1 遍历循环

(一)、遍历循环

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

for <循环变量> in <遍历结构> :
    <语句块>
  • 从遍历结构中逐一提取元素,放在循环变量中。

image

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

(二)、循环变量的应用

  1. 计数循环(N次)
  • 遍历由range()函数产生的数字序列,产生循环
for i in range(N):
    <语句块>
>>> for i in range(5):
        print(i)
        
0
1
2
3
4

>>> for i in range(5):
        print("Hello:",i)
        
Hello:0
Hello:1
Hello:2
Hello:3
Hello:4
  1. 计数循环(特定次)
for i in range(M,N,K):
    <语句块>
  • 遍历由range()函数产生的数字序列,产生循环。
>>> for i in range(1,6,2):
    print("Hello:",i)

Hello:1
Hello:3
Hello:5
  1. 字符串遍历循环
for c in s :
    <语句块>
  • s是字符串,遍历字符串每个字符,产生循环
>>> for c in "Python123":
    print(c,end=",")

P,y,t,h,o,n,1,2,3

4.列表遍历循环

for item in ls:
    <语句块>
  • ls 是一个列表,遍历其每个元素,产生循环
>>> for item in [123,"PY",456]:
    print(item,end=",")
    
1234,PY,456

5.文件遍历循环

for line in fi:
    <语句块>
  • fi是一个文件标识符,遍历其每行,产生循环
>>> for line in fi:
    print(line)
2.2 无限循环

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

image

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

无线循环的条件

>>> a = 3
>>> while a>0:
    a=a-1
    print(a)
    
2
1
0
2.3 循环控制保留字

breakcontinue

  • break跳出并结束当前整个循环,执行循环后的语句
  • continue结束当次循环,继续执行后续次数循环
  • breakcontinue 可以与forwhile 循环搭配使用
>>> for c in "Python":
        if c =="t":
            continue
        print(c,end="")
Pyhon

>>> for c in "python"
        if c=="t"
            break
        print(x,end="")
py
2.4 循环的高级用法

循环的扩展

for <变量> in <遍历结构>:
    <语句块1>
else:
    <语句块2>
while <条件>:
    <语句块1>
else:
    <语句块2>
  • 当循环没有被break语句退出时,执行else语句块
  • else 语句块作为“正常”完成循环的奖励
  • 这里else的用法与异常处理中else用法相似
>>> for c in "PYTHON":
        if c=="T":
            continue
            print(c,end="")
        else:
            print("正常退出")
PTHON正常退出
>>> for c in "PYTHON":
        if c=="T":
            break
            print(c,end="")
        else:
            print("正常退出")
PY
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值