循环分支循环语句

发布时间:2019-03-13 22:28:32编辑:auto阅读(1728)

    #  三大结构
     - 循环
     - 分支
     - 循环
    In [ ]:
     
     
    # 分支
    
    
     - 分支的基本语法
    
    
     -  if  条件表达式:
             语句1
             语句2
             语句3
             .....
      - 条件表达式就是计算结果必须是布尔值的表达式
      - 表达式后面的冒号觉对不能少
      - 注意 if 后面出现的语句,如果属于 if 语句块,则必须同一个缩进等级
      - 条件表达式结果位 True 执行 if 后面的缩进语句块
    In [8]:
     
     
    #if 语句练习
    #如果age小于18岁,则打印信息,去叫家长
    age = 19
    if 10 <= age <= 18:
        print("去叫家长")
        print("带不动")
        print("走吧")
    print("大兄弟")  #不满足条件的会执行下一条与 if 齐平的代码 
    大兄弟
    
    In [ ]:
     
     
     ### 双向分支
     - if ...else...语句
         if 条件表达式:
              语句1
              语句2
              ....
          else:
               语句1
               语句2
               .....
    
    
      - 双向分支有两个分支,当程序执行到 if....else.....语句的时候,一定会执行 if else 中的一个,一次也只能执行一个
      - 缩进问题,if else 一个层级,其余的语句块是一个层级,同一语句块的缩进是一样的。
    In [4]:
     
     
    # input 的作用
    # 1. 在屏幕上输出括号内的字符串
    # 2. 接受用户输入的内容并返回到程序
    # 3. input 返回的内容一定是字符串类型
    gender = input("输入性别")
    print("你输入的性别是:{0}".format(gender))
    if gender == "男的":
          print('去干苦力')
    else:
            print("吃饭去")
    print('开始干活了')        
    输入性别女生
    你输入的性别是:女生
    吃饭去
    开始干活了
    
    In [ ]:
     
     
    # 多向分支的案例
    # 考试成绩的判断
    # 90以上:输出优秀
    # 80-90:良
    # 70-80:中等
    # 60-70:一般
    # 60以下:输出,学渣
    In [5]:
     
     
    # score 存放学生成绩
    #注意 input 的返回值类型
    score = input("学生成绩:")
    # 需要吧 str (字符串)转换成 int(数字)
    score = int(score)
    if score >= 90:
           print("A")
    if score >= 80 and score<90:
           print("B")
    if score >= 70 and score<80:
            print("C")
    if score >= 60 and score<70:
            print("D")
    if score < 60:
            print("头疼")
    学生成绩:89
    B
    
    In [ ]:
     
     
    ## 多路分支
    - 很多分支的情况,简称多路分支
          if :条件表达式:
              语句1
              .......
           elif 条件语句:
                 语句1
                 .....
             .....
            else:
                 语句2
                 ......
    - elif 可以有很多个
    - else 可选
    - 多个分支只会选一个执行
    In [6]:
     
     
    score = input("输入成绩")
    score = int(score)
    if score >90:
        print("A")
    if score >=80:
        print("B")
    if score >=70:
        print("C")
    if score >=60:
        print("D")
    else:
        print("go home")
    输入成绩59
    go home
    
     
     
    ## if 语句其他:
            - if 语句可以嵌套使用,但不推荐
            - python 语句里没有 switch-case语句

    if 语句其他:

        - if 语句可以嵌套使用,但不推荐
        - python 语句里没有 switch-case语句
    
     
     
    ###  循环语句
      - 重复执行某些固定动作或处理某些基本固定的事务
      - 分类:
             - for 循环
             - while 循环
    
    
     ## for 循环
         - for 循环
               for 变量  in 序列:
                    语句1
                    语句2
                    ......

    循环语句

    • 重复执行某些固定动作或处理某些基本固定的事务
    • 分类:

       - for 循环
       - while 循环
      

      for 循环

      • for 循环
        for 变量  in 序列:
             语句1
             语句2
             ......
        
    In [11]:
     
     
    ### 列表就是一列数字或其他值,一般用中括号表示
    # 例如: 【'ruirui','halou','xiaoji','dunmogu'】
    # 打印列表姓名
    # 如果是吃的,肯定是我最爱的
    # 如果是做事,我要装睡觉
    for name in ['ruirui','zuo','xiaoji','dunmigu']:
        print(name)
        if name =="ruirui":
            print("我的最爱{0}".format(name))
        else:
            print("已睡,勿扰")
    ruirui
    我的最爱ruirui
    zuo
    已睡,勿扰
    xiaoji
    已睡,勿扰
    dunmigu
    已睡,勿扰
    
    In [ ]:
     
     
    ##  range 介绍
     - 生成一个数字序列
     - 具体范围可以设定
    In [13]:
     
     
    # range 练习
    # 打印一到十的数字
    # 注意 一般在 python 中,如果有表示数字范围的两个数,一般是包含左边的数字不包括右边的数字
    # randint 是特例,它是左右都包含
    # randint 函数在 python 3和python2 中有严重的区别
    for a in range(1,10):# range 函数会自动生产一列整数
        print(a)
    1
    2
    3
    4
    5
    6
    7
    8
    9
    
    In [ ]:
     
     
    ##  for-else 语句
      - for 循环结束的时候,就会执行 else 语句
      - else 语句是可选语句
    In [14]:
     
     
    # for-else 语句
    #打印列表中的同学
    # 如果没有在列表中,或列表结束了,我们要打印提示语句,表示不在爱了
    for name in ['ruirui','zuo','xiaoji','dunmigu']:
        print(name)
        if name =="ruirui":
            print("我的最爱{0}".format(name))
        else:
            print("已睡,勿扰")
    else:
        print("你不给我吃的,我不再爱你了")
    ruirui
    我的最爱ruirui
    zuo
    已睡,勿扰
    xiaoji
    已睡,勿扰
    dunmigu
    已睡,勿扰
    你不给我吃的,我不再爱你了
    
     
     
     # for 循环之 break continue pass
     - break:无条件结束整个循环,简称猝死
     - continue ;无条件结束本循环,从新进入下一轮
     - pass :表示路过

    for 循环之 break continue pass

    • break:无条件结束整个循环,简称猝死
    • continue ;无条件结束本循环,从新进入下一轮
    • pass :表示路过
    In [16]:
     
     
    # break 语句练习 
    # 在数字1-10中,寻找数字7,一旦找到,打印出来,其余的什么都不做
    # 在 foe 循环中的变量表示,一般用 i k m n 或者indx idx item之类
    # 在 python 中,如果循环变量名称不重要,可以用一个下划线 “ _ ”代替
    for i in range(1,11):
        if i == 7:
            print("任务结束")
            break
        else:
            print(i)
    1
    2
    3
    4
    5
    6
    任务结束
    
    In [19]:
     
     
    # comtinue 语法练习
    # 在数字一到十中,寻到所有偶数,找的并打印
    for i in range(1,11):
        if i % 2 == 1:
            continue
        else:
            print("{0}是偶数".format(i))
    2是偶数
    4是偶数
    6是偶数
    8是偶数
    10是偶数
    
    In [26]:
     
     
    for i in range(1,11):
        if i % 2 == 1:
            print("{0}是偶数".format(i))
    1是偶数
    3是偶数
    5是偶数
    7是偶数
    9是偶数
    
    In [27]:
     
     
    # 本案例把 continue 作用和用法完美显示
    for i in range(1,11):
        if i % 2 == 1:
            continue
    
    
        print("{0}是偶数".format(i))
    2是偶数
    4是偶数
    6是偶数
    8是偶数
    10是偶数
    
    In [30]:
     
     
    ## pass 例子 一般用于占位
    for i in range(1,11):
        pass
        print("ruirui")
    ruirui
    ruirui
    ruirui
    ruirui
    ruirui
    ruirui
    ruirui
    ruirui
    ruirui
    ruirui

关键字