美文网首页
控制语句执行流程

控制语句执行流程

作者: wangyiyan92 | 来源:发表于2017-09-04 17:56 被阅读0次

    Python中流程控制语句

    选择结构if

    循环结构for

    for与range()

    用while循环

    增量赋值运算符

    推导或内涵

    1.用if语句选择执行语句

    (1)if基础

    if <条件1>:             #一定要有冒号

        <语句1>

    elif <条件2>:

         <语句2>

    elif <条件3>:

          <语句3>

    ..........

    else:

         <语句n>

    示例:

    (2)if语句的嵌套

    if <条件>:

       if <条件>:

           <语句1>

       elif <条件>:

             <语句2>

    else:

             <语句3>

    示例:

    2.用for循环执行语句

    (1)for基础

    其它高级语言for语句要用循环控制变量来控制循环,Python中for语句是通过循环遍历某一序列对象(元组、列表、字典等)来构建循环,循环结束的条件就是对象被遍历完成,

             for语句的形式如下:

    for <循环变量> in <遍历对象>:

          <语句1>

    else:

          <语句2>

    基本for循环示例:

    for i in [1,2,3,4,5];                              # i 是循环变量,每次循环,i会依次取得后面列表中                                                               一  个值

          print(i,''的平方是:",i*i)

    else:

           print('循环结束!')

    (2)for语句与break语句、continue语句

    break语句是中断循环的执行,如果在for循环中执行了break语句,for语句的遍历就会立即终止,即使还有未遍历完的数据,还是会立即终止for循环语句。

    continue语句的作用是提前停止循环体的执行,开始下一轮循环。在for语句中如果执行了continue语句,则continue语句后的循环体语句不会被执行,即提前结束了本次循环,进入下一个遍历体循环。

    示例:

    for语句遍历列表、元组、字符串的基本形式是相同的,但对字典的遍历不同。因为字典既有键又有值,在遍历时不能直接对字典进行遍历,而是通过字典的items()、keys()、values()等方法分别遍历其键和值、键、值,如果同时遍历键和值,在遍历时可以使用两个循环变量来分别接收键和值。

    示例:

    (3)for语句与range()函数

    for语句中的对象集合可以是列表、字典以及元组等,也可以通过range()产生一个从0至x-1的整数列表,以完成计数循环。range()函数的原型如下:

    range([start,] stop[, step])

    其参数含义如下:

    start      可选参数,起始数,默认值为0

    stop      终止数,如果range只有一个参数x,那么range产生一个从0至x-1的整数列表

    step      可选参数,步长,即每次循环序列增长值

    示例:

    输出:

    for语句使用range()函数可以构建就要已知循环次数的循环程序,也可以以range()生成的数字作为索引来访问列表、元组、字符串中的值,还可以对遍历的序列实行处理,以得到相关的数据。

    range()函数并不是在调用时一次生成整个序列,而是遍历一次才产生一个值,以减少内存的占用,其本质是一个迭代器。

    x=(int(input('请输入开始值(整数):')),int(input('请输入一个结束值(整数):')))

    x1=min(x)

    x2=max(x)

    for n in range(x1,x2+1):

          for i in range(2,n-1):

                if n%i==0:

                        break

           else:

                  print(n,'是素数。')

    (4)for语句与内置迭代函数

    python内置了几种常用的迭代函数:

    enumerate(seq)                   #编号迭代

    sorted(seq)                     #排序迭代

    reversed(seq)                  #翻转迭代

    zip(seq1,seq2...)           #并行迭代

    编号迭代在迭代时既返回序列中的元素,又返回该元素在序列中的编号(编号从0开始)。for语句进行编号迭代时,应使用两个循环变量分别接收编号和元素的值。

    交互式环境下示例:

    排序迭代的作用是使得在for的遍历时,先遍历序列中较小的值,后遍历序列中较大的值,这要求序列中的数据可以是排序的同类数据。

    交互式环境下的示例:

    翻转迭代示例:

    并行迭代在遍历时同时遍历函数中给出的seq1,seq2等序列中同一序号的元素。

    交互式环境下示例:

    并行迭代函数中序列值的长度不一致时,只遍历到最短的序列的长度。

    3.用while循环执行语句

    (1)while基础

    while也是Python语言中构造循环结构程序的语句之一,主要用于构造特殊的循环。

    while语句的基本形式:

    while <条件>:

              <语句1>

    else:

               <语句2>

    与for循环不同的是,while语句只有在测试条件为假时才会停止。所以在while语句的循环体中一定要包含改变测试条件的语句,以保证循环能够结束,避免死循环。

    示例:

    结果:

    (2)增量赋值运算符:

    python中提供增量赋值运算符很多,基本的运算符都有对应的增量运算符:

    +、-、*、/、//、**、%、&、|、^、>>、<<

    基本写法:

    x+=1             意义为:x=x+1

    4.推导或内涵(list comprehension)

    (1)推导基础

    comprehension英文本意是理解或内涵(逻辑学用语),那么在Python中是指以紧凑的方式对列表、元组、字典等序列或一系列元素进行处理,处理结果仍然被放到一个列表、字典等序列当中的语法形式。

    典型的列表推导基本形式如下:

    [<i 相关表达式> for i in aiterator]

    aiterator是一个可遍历的对象,比如列表、元组,也可以是range()函数。语义为:用循环变量i去遍历aiterator,并且将i相关表达式的值放入一个列表中。

    以下两段代码都是获得1~10的平方数存入列表之中。

    列表推导代码:

    square=[i**i] for i in range(1,11)]

    不使用列表推导,使用for:

    square=[]

    for i in range(1,11):

          square.append(i*i)

    字典推导:

    (2)推导进阶

    列表推导式和字典推导式不仅可以对遍历的元素进行全部处理,还可以使用if语句实现有选择地处理遍历序列中的元素。基本形式如下:

    [<i 相关表达式> for i in aiterator if <条件>]

    {key_exp:value_exp for key_exp,value_exp in aiterator if <条件>}

    获得一个1~10中所有数的平方,且平方值为奇数的一个列表,就可以使用如下代码:

    square_odd=[i**i for i in range(1,11) if i**i %2==1]

    相关文章

      网友评论

          本文标题:控制语句执行流程

          本文链接:https://www.haomeiwen.com/subject/qoxcjxtx.html