《疯狂Python》学习第6课

本文详细介绍了Python编程中的流量控制结构,包括顺序结构、if分支、断言、循环结构(while、for-in)及其控制方式(break、continue、return)。重点讲解了if条件的类型、pass语句、断言的执行逻辑、for-in循环遍历各种数据结构以及循环使用else的特殊语法。此外,还探讨了嵌套循环和for表达式的用法,以及常用的控制循环的工具函数如zip、reversed和sorted。
摘要由CSDN通过智能技术生成

第三章 流量控制

    Python提供了两种基本流程控制结构:分支结构和循环结构。其中分支结构用于实现根据条件来选择性地执行某段代码:循环结构则用于实现根据循环条件重复执行某段代码。Python 使用if 语句提供分支支持,提供了while、for-in循环,也提供了break 和continue来控制程序的循环结构。

3.1 顺序结构

    顺序结构就是程序从上到下一行行地执行,中间没有任何判断和跳转。

3.2 if分支结果

    Python的if 语句有如下三种形式:
第一种形式:
if expression :
    statements …
第二种形式:
if expression :
    statements …
else :
    statements …
第三种形式:
if expression :
    statements …
elif expression :
    statements …

else :
    statements …
    Python 是一门很“独特”的语言,它的代码块是通过缩进来标记的(大部分语言都使用花括号或end 作为代码块的标记),具有相同缩进的多行代码属于同一个代码块。Python 通常建议缩进4 个空格。然Python语法允许代码块随意缩进N 个空格,但同一个代码块内的代码必须保持相同的缩进,Python 冒号精确表示代码块的开始点这个功能不仅在条件执行体中如此, 后面的循环体、方法体、类体全部遵守该规则。

3.2.1 if条件的类型

    if 条件可以是任意类型,当下面的值作为bool表达式时,会被解释器当作False 处理。

False、None、0、" "、( )、[ ]、{ }

    if else 语句时有一条基本规则: 总是优先把包含范围小的条件放在前面处理。

3.2.2 pass语句

    Python 的pass语句就是空语句。以下程序示范了pass 作为空语句的用法。

s = input('请输入一个整数')
s = int(s)
if s > 5:
    print ('输入数值大于5 ')
elif s < 5 :
    pass
#空语吾句,相当于占位符
else :
    print ("输入数值等于5")

    对于s 小于5 的情形,程序暂时不想处理(或不知道如何处理),此时程序就需要通过空语句来占一个位,这样即可使用pass 语句了。

3.3 断言

    断言语句和if 分支有点类似,它用于对一个bool 表达式进行断言,如果该bool表达式为True,该程序可以继续向下执行; 否则程序会引发AssertionError 错误。代码示例:

sage= input ( " 请输入您的年龄:")
age = int (sage)
assert 20 < age < 80
print (" 您输入的年龄在20 和80 之间")

    如果用户输入的年龄不在规定的区间段内,运行结果如下:在这里插入图片描述
    assert 断言的执行逻辑是:
if 条件为False
    程序引发AssertionError 错误

3.4 循环结构

    循环语句可能包含以下4部分:

  • 初始化语句( init_statements ): 一条或多条语句,用于完成一些初始化工作。初始化语句在循环开始之前执行。
  • 循环条件( test_expression ) : 这是一个布尔表达式,这个表达式能决定是否执行循环体。
  • 循环体( body_statements ):这个部分是循环的主体,如果循环条件允许,这个代码块将被重复执行。
  • 迭代语句( iteration_statements ) :这个部分在一次执行循环体结束后,对循环条件求值之前执行,通常用于控制循环条件中的变量,使得循环在合适的时候结束。

3.4.1 while循环

    while 循环的语法格式如下:
[init_statements]
while test_expression :
    body_statements
    [ iteration_statements ]
    while循环在每次执行循环体之前,都要先对test_expression 循环条件求值,如果循环条件为真,则运行循环体部分。代码示例:

count_i=0
while count_i<10:
    count_i+=1
print(count_i)

    while 循环的循环体中所有代码必须使用相同的缩进,否则Python 也会引发错误。

3.4.2 for-in 循环

    for -in 循环专门用于遍历范围、列表、元素和字典等可迭代对象包含的元素。其格式为:
    for 变量in 字符串|范围|集合等:
        statements

  • for-in 循环中的变量的值受for-in 循环控制,该变量将会在每次循环开始时自动被赋值,因此程序不应该在循环中对该变量赋值。
  • for-in 循环可用于遍历任何可选代对象。所谓可迭代对象,就是指该对象中包含一个_iter_方法,且该方法的返回值对象具有next()方法。

3.4.3 使用for-in 循环遍历列表和元组

    在使用for-in 循环遍历列表和元组时,列表或元组有几个元素, for-in 循环的循环体就执行几次,针对每个元素执行一次,循环计数器会依次被赋值为元素的值。
    遍历列表求列表中的所有数值元素的总和、平均值。代码示例:

src_list=[12 , 45 , 3.4 , 13 ,'a', 4 ,56,'Python',109.5]
my_sum=0
my_count=0
for i in src_list:
    if isinstance(i,int
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值