Python基础(二)_程序控制结构

二:程序的控制结构

1.程序流程图
  • 程序流程图是用一类列图形,流程线和文字说明描述程序的基本操作和控制流程,它是程序分析和过程描述的最基本方式。 流程图的基本元素包括7种:
    流程图基本元素
    其中,起止框表示一个程序的开始和结束;判断框判断一个条件是否成立,并根据判断结果选择不同的执行路径;处理框表示一组处理过程; 输入/输出框表示数据输入或结果输出;注释框增加程序的解释;流向线以带箭头直线或曲线形式指示程序的执行路径;连接点将多个流程图连接到一起,常用于将一个较大流程图分隔为若干部分。下图所示为一个流程图示例,为了便于描述,采用连接点A将流程图分成两个部分。
    流程图
2.程序基本结构

程序三种基本结构:顺序结构,分支结构和循环结构。

  • 顺序结构:是程序按照线性顺序依次执行的一种运行方式;-分 支结构

  • 分支结构:是程序根据条件判断结果而选择不同向前执行路径的一种运行方式;
    分支结构又分为单分支结构;二分支结构;多分支结构。

    • 单分支结构:if 语句
      语法格式如下:

    if <条件>:
     <语句>
    if语句
    语句块是if条件满足后执行的一个或多个语句序列,语句块中语句通过与if所在行形成缩进表达包含关系。if 语句首先评估条件的结果值,如果结果为True,则执行语句块中的语句序列,然后控制转向程序的下一条语句。如果结果为False,语句块中的语句会被跳过。

    • 二分支结构:if—else

    if <条件>:
      <语句块1>
    else:
      <语句块2>
    二分之条件语句
    语句块1是在if条件满足后执行的一个或多个语句序列,语句块2是if条件不满足后执行的语句序列。二分支语句用于区分条件的两种可能,即True或者False,分别形成执行路径;
     
    二分支结构还有一种更简洁的表达方式,适合通过判断返回特定值,语法格式如下:
    <表达式1> if <条件> else <表达式2>

    • 多分支结构:if—elif—else

    if <条件1>:
      <语句块1>
    elif <条件2>:
      <语句块2>
    ···
    else:
      <语句块N>
    在这里插入图片描述
    多分支结构是二分支结构的扩展,这种形式通常用于设置同一个判断条件的多条执行路径。Python依次评估寻找第一个结果为 True的条件,执行该条件下的语句块,结束后跳过整个if-elif-else 结构,执行后面的语句。如果没有任何条件成立,else’下面的语句块将被执行。else 子句是可选的。

  • 循环结构:是根据条件判断结果向后反复执行的一种运行方式。

    • 遍历循环(即有限循环):for语句
      之所以称为“遍历循环”,是因为for语句的循环执行次数是根据遍历结构中元素个数确定的。遍历循环可以理解为从遍历结构中逐一提取元素, 放在循环变量中,对于所提取的每个元素执行一次语句块。

    for <循环变量> in <遍历结构>:
      <语句块2>
     
    遍历结构可以是字符串、文件、组合数据类型或range( )函数等,例如
     
    循环N次
    for i in range(N):
      <语句块>
     
    遍历文件 fi 的每一行
    for line in fi:
      <语句块>
     
    遍历字符s
    for c in s:
      <语句块>
     
    遍历列表ls
    for item in ls:
      <语句块>

    • 无限循环(即条件循环):while语句

    无限循环一直保持循环操作直到循环条件不满足才结束,不需要提前确定循环次数
    while <条件>:
      <语句块>

    • 循环保留字:break和continue
      break用来跳出最内层for或while循环,脱离该循环后程序从循环代码后继续执行;
      continue用来结束当前当次循环,即跳出循环体中下面尚未执行的语句,但不跳出当前循环。
3.程序的异常处理
  • 异常处理:try—except
    举例
    异常处理1
    当输入数字时,程序正常执行,如果输入的不是数字呢?
    异常处理2
    Python异常信息中中最重要的部分是异常类型,它表明了异常的原因,也是程序处理异常的依据。

    Python使用try—except语句实现异常处理,其基本语法格式如下:

    try:
      <语句块1>
    except <异常类型>:
      <语句块2>

    为上述实例程序增加异常处理
    异常处理3

  • 异常的高级用法
    try—except语句可以支持多个except语句,语法格式如下:

    try:
      <语句块1>
    except <异常类型1>:
      <语句块2>
    ···
    except <异常类型N>:
      <语句块N+1>
    except:
      <语句块N+2>

    举例
    异常处理高级用法

  • Python能识别多种异常类型,但不能编写程序时过度依赖try-except这种异常处理机制。try-except 异常一般只用来检测极少发生的情况,例如,用户输入的合规性或文件打开是否成功等。对于上面实例中索引字符串超过范围的情况应该尽量在程序中采用if语句直接判断,而避免通过异常处理来应对这种可能发生的错误”。

    对于面向商业应用的软件产品,稳定性和可靠性是最重要的衡量指标之–。即使这类软件产品也不会滥用try-except类型语句。因为采用try-except语句会影响代码的可读性增加代码维护难度,因此,- 般只在关键地方采用try- except类型语句处理可能发生的异常。建议读者结合函数设计统筹应用异常处理。更多经验还需要实践来积累。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值