zoukankan      html  css  js  c++  java
  • 控制语句(4)

    第4章 控制语句

    if<条件1>:
       <语句1>
    elif<条件2>:
       <语句2>
    elif<条件3>:
       <语句3>
    ......
    else:
       <语句n>
    说明:elif语句,只要有一个条件成立,就会将其后的一个部分语句执行后推出整个if语句

    if三元运算符
    <表达式1> if <条件> else <表达式2>

    a=None
    b=3
    x=b if a is not None else 0   #x 的值为 0

    if语句嵌套
    if<条件>:
        if<条件>:
            <语句1>
        else<条件>:
            <语句2>
    else:
       <语句3>

    for循环执行语句,else中的<语句2>只有在循环正常退出时执行
    for <循环变量> in <遍历对象>:
        <语句1>
    else:
        <语句2>

    break和continue
    例:
    for i in [1,2,3,4,5]:
        print(i)
        if i==2:
            continue
        print(i,"的平方是:",i*i)
        if i==4
            break
    else:
        print('循环结束!')
    》》》
    1
    1的平方是:1
    2
    3
    3的平方是:9
    4
    4的平方是:16

    for语句与range()函数
    for i in range(4)

    range([start,] stop[,step])
    start默认为0

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

    for语句与内置迭代函数(seq为序列)
    enumerate(seq)  编号迭代   for i,item in enumerate('abcd'): print('第%d个字符是:%s'%(i,item))
    sorted(seq)     排序迭代   for i in sorted([3,1,6,0])
    reversed(seq)   翻转迭代
    zip(seq1,seq2,....)   并行迭代  for i,j,k in zip(lsta,lstb,lstc):print('%d:%d:%d'%(i,j,k))  只遍历到最短的序列长度

    while循环:Python中while循环不如for循环简单明了,因此主要用在构建不确定运行次数的循环,一般情况下,遍历序列都采用for语句

    增量赋值运算符
    +=,-=,*=,/=,//=,**=,%=,&=。。。。。。。

    推导:对序列或一系列的元素进行处理,处理结果仍被放到一个列表、字典等序列之中
    基本形式:[<i相关表达式> for i in aiterator]    #在for语句前加了对循环变量处理的表达式,最外层使用序列符号
    [i**i for i in range(1,11)]   #获得1~10的平方数存入列表之中
    {k:v for k,v in zip(keys,values)}  #使用并行迭代将两个列表组成字典

    推导进阶:
    使用if语句实现有选择地处理遍历序列中的元素
    [i**i for i in range(1,11) if i**i%2==1]

  • 相关阅读:
    lintcode:Palindrome Partitioning 分割回文串
    lintcode:Add Binary 二进制求和
    lintcode :Count 1 in Binary 二进制中有多少个1
    lintcode : 二叉树的最小深度
    lintcode :二叉树的最大深度
    lintcode:Binary Tree Postorder Traversal 二叉树的后序遍历
    lintcode :Binary Tree Preorder Traversal 二叉树的前序遍历
    lintcode:二叉树的中序遍历
    lintcode:Binary Search 二分查找
    lintcode:1-10题
  • 原文地址:https://www.cnblogs.com/MUMO/p/5707953.html
Copyright © 2011-2022 走看看