Python入门——流程控制

时间:2020-03-06
本文章向大家介绍Python入门——流程控制,主要包括Python入门——流程控制使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

流程控制

一、可变不可变类型

  • 可变类型:值改变,id不变,证明改的是原值,证明原值是可以被改变的

  • 不可变类型:值改变,id也改变,证明是产生了新的值,并没有改变原值,证明原值是不可以被修改的

  • 验证

    # int是不可变类型
    x=10
    print(id(x)) # 140736198662080
    x=11
    print(id(x)) # 140736198662112
    
    # float是不可变类型
    x=2.1
    print(id(x)) # 2106767272624
    x=3.2
    print(id(x)) # 2106767272336
    
    # str是不可变类型
    x='abc'
    print(id(x)) # 1644325942576
    x='qqq'
    print(id(x)) # 1644326369200
    
    # 小结:int、float、str都被设计成了不可分割的整体,不能够被改变
    
    # list是不可变类型
    l=[11, 22, 33]
    print(id(l)) # 3199870035008
    l[0]='AAA'
    print(id(l)) # 3199870035008
    
    # 布尔类型是不可变类型
    
    # 字典是不可变类型
    x={'k1':111, 'k2':222}
    print(id(x)) # 3199870035008
    x['k1']=333
    print(id(x)) # 3199870035008
    '''
    关于字典补充:
    定义:{}内用逗号分隔多key:value,
      其中value可以是任意类型
      但是key必须是不可变类型
    '''

二、条件

什么是条件

  • 条件就是为了达成某种状况而所要具备的机制

为什么要用条件

  • 为了能够让计算机具备人的这种判断事物是否能够成立的机制

条件有那些

  1. 显示布尔值:

    • 可以是比较运算符

      age = 18
      print(age > 16) # 条件判断之后会得到一个布尔值
    • 可以是True、False

      tag = True
      print(tag)
  2. 隐式布尔值:所有的值都可以当成条件去用

    • 其中0、None、空(空字符串、空列表、空字典等)代表的布尔值为False,其余的均为True

      print(bool(0)) # False
      print(bool(None)) # False
      print(bool('')) # False
      print(bool([])) # False
      print(bool({})) # False

三、分支结构

什么是分支结构

  • 分支结构就是根据条件判断的真假去执行不同分支对应的子代码

为什么要用分支结构

  • 人类某些时候需要根据条件来决定做什么事情,程序中也必须有相应的机制来控制计算机具备这种判断能力

如何使用分支结构

  1. if语法

    if 条件1:
        代码块1
    elif 条件2:
        代码块2
    ...
    else:
        代码块3

      注意:

    • (1)、python用相同缩进(4个空格表示一个缩进)来标识一组代码块,同一组代码会自上而下依次运行
    • (2)、条件可以是任意表达式,但执行结果必须为布尔类型
    • (3)、None、0、空三种情况下转换成的布尔值为False,其余的均为True
  2. if应用案例

    • 案例1:

      # 如果:女人的年龄>30岁,那么:叫阿姨
      age = 60
      if age > 30:
          print('阿姨')
    • 案例2:

      # 如果:女人的年龄>30岁,那么:叫阿姨,否则:叫小姐
      age = 60
      if age > 30:
          print('阿姨')
      else:
          print('小姐姐')
    • 案例3:

      # 如果:女人的年龄>=18并且<22岁并且身高>170并且体重<100并且是漂亮的,那么:表白,否则:叫阿姨
      age = 18
      height = 163
      weight = 85
      beautiful = True
      if age >= 18 and age < 22 and height > 170 and weight < 100 and beautiful:
          print('表白')
      else:
          print('阿姨')
    • 案例4:

      '''
      如果:成绩>=90,那么:优秀
      
      如果成绩>=80且<90,那么:良好
      
      如果成绩>=70且<80,那么:普通
      
      其他情况:很差
      '''
      score = 100
      if score >= 90:
          print('优秀')
      elif score >= 80:
          print('良好')
      elif score >= 70:
          print('普通')
      else:
          print('不及格')
      
    • 案例5:

      # if嵌套
      #在表白的基础上继续:
      #如果表白成功,那么:在一起
      #否则:打印。。。
      age = 18
      height = 163
      weight = 85
      beautiful = True
      if age >= 18 and age < 22 and height > 170 and weight < 100 and beautiful:
          print('表白')
          respon = True
          if respon:
              print('在一起')
          else:
              print('打印')
      else:
          print('阿姨')

四、循环结构——while循环

什么是循环结构

  • 循环结构就是重复执行某段代码块

为什么要用循环结构

  • 让计算机能够具备人重复执行某件事情的能力

如何使用循环结构

  1. while循环语法

    while 条件:
        代码1
        代码2
        代码3
    
    '''
    while的运行步骤:
    步骤1:如果条件为真,则自上而下的执行代码1、2、3...
    步骤2:执行完最后一条代码时再次判断条件,如果条件为Treu则重复步骤1,如果条件为False,则结束循环
    
    '''
  2. while循环以应用案例

    • 案例1:while循环的基本使用

      # 用户认证程序
      # 为了避免代码的重复,所以引入while循环
    • 案例2:while+break的使用

      • 注意break用来结束本层循环,break后面的代码都不会执行
      # 
    • 案例3:while循环嵌套+break

    • 案例4:while循环嵌套+tag的使用

    • 案例5:while+continue的使用

      • 注意:continue用来跳出当前次循环(即跳过本次循环直接进入下一次循环),continue后的代码也不会执行
    • 案例6:while+else的使用

      • 注意:如果while循环被break终止了,则不会运行else里的代码
  3. while循环练习

    • 练习1:寻找1到100之间数字7最大的倍数(结果是98)

    • 练习2:猜年龄

五、for循环

  1. for循环语法

    for 变量名 in 可迭代对象(字符串、列表、字典):
        代码1
        代码2
        ...
    
    #例1
    for item in ['a','b','c']:
        print(item)
    # 运行结果
    a
    b
    c    
    
    # 参照例1来介绍for循环的运行步骤
    # 步骤1:从列表['a','b','c']中读出第一个值赋值给item(item=‘a’),然后执行循环体代码
    # 步骤2:从列表['a','b','c']中读出第二个值赋值给item(item=‘b’),然后执行循环体代码
    # 步骤3: 重复以上过程直到列表中的值读尽
  2. for循环应用案例

    • 案例1:打印数字0-5

    • 案例2:遍历字典

    • 案例3:for循环嵌套

  3. for循环练习

    • 练习1:打印九九乘法表

      for i in range(1, 10):
          for j in range(1, i+1):
              print('{i} * {j} = {z} '.format(i=i, j=j, z=i*j), end=' ')
          print()
    • 练习2:打印金字塔

      for line in range(0, 5):
          for space in range(1, 5-line):
              print(' ', end='')
          for star in range(0, 2*line+1):
             print('*', end='')
          print('')

原文地址:https://www.cnblogs.com/guanxiying/p/12425960.html