Python学习记录 控制语句-选择&循环

2022.07.15 DAY15

1.控制语句

1.PyCharm

  • IED --> IDLE PyCharm wingIDE Eclipse IPython
  • Create New Project
  • 选择路径 - 项目命名

2. 选择结构

  • 选择结构通过判断条件是否成立,来决定执行哪一个分支。

  • 单分支结构

    • if语句单分支结构的语法如下:

        if 条件表达式:
            语句/语句块
      
    • 条件表达式:可以是逻辑表达式、关系表达式、算术表达式等等。

    • 语句/语句块:可以是一条语句,也可以是多条语句。多条语句,缩进必须对齐一致。

    • 结果为False:False/0/0.0/None/空序列对象/空range对象/空迭代对象

    • 条件表达式中,不能有赋值操作符"="

  • 代码测试:

      # 选择结构
      def test():
          while True:
              num = input("请输入一个数:")
              if int(num) == 0:
                  print('num == 0')
                  break  # 退出循环
    
              if int(num) < 0:
                  print('num < 0')
              if int(num) > 0:
                  print('num > 0')
              
          del num
    
    
      # Main
      if __name__ == '__main__':
          test()
    
  • 双分支结构

    • if语句双分支结构的语法如下:

        if 条件表达式:
            语句/语句块1
        else:
            语句/语句块2
      
  • 代码测试:

      # 双分支选择结构
      def test2():
          while True:
              num = input("请输入一个数:")
              if int(num) == 0:
                  print('num == 0')
                  break  # 退出循环
    
              if int(num) < 0:
                  print('num < 0')
              else:
                  print('num > 0')
          del num
    
    
      # Main
      if __name__ == '__main__':
          test2()
    
  • 三元条件运算符

    • Python提供了三元运算符,用来在某些简单双分支赋值的情况。
    • 三元条件运算符语法的格式如下:
      • 条件为真时的值 if (条件表达式) else 条件为假时的值
    • 写法更简洁、易读。

代码测试:

    # 三元条件运算符
    def test3():
        while True:
            num = input("请输入一个数:")
            print(num if int(num) < 10 else "num > 10")

            if int(num) == 0:
                print('退出循环')
                break  # 退出循环
        del num


    # Main
    if __name__ == '__main__':
        test3()
  • 多分支结构

    • 多分支结构的语法如下:

        if 条件表达式1:
            语句/语句块1
        elif 条件表达式2:
            语句/语句块2
        elif 条件表达式3:
            语句/语句块3
      
  • 代码测试:

      # 多分支选择结构
      def test4():
          while True:
              score = input("请输入分数:")
              if int(score) < 0 or int(score) > 100:
                  print("退出查询")
                  break  # 退出循环
    
              elif int(score) < 60:
                  print('成绩不及格')
              elif int(score) < 70:
                  print('成绩及格')
              elif int(score) < 80:
                  print('成绩中等')
              elif int(score) < 90:
                  print('成绩良好')
              elif int(score) <= 100:
                  print('成绩优秀')
    
          del score
    
    
      # Main
      if __name__ == '__main__':
          test4()
    
  • 选择结构嵌套

    • 控制好缩进量,决定代码的从属关系。

    • 选择结构嵌语法如下:

        if 条件表达式1:
            语句块1
            if 条件表达式2:
                语句块2
            else
                语句块3
        else
            if 条件表达式4:
                语句块4
      

3. 循环结构

  • 重复执行一条或者多条语句。

  • 符合条件,执行循环里边的语句,否则退出循环。

  • while 循环

    • while 循环的语法格式如下:

        while 条件表达式:
            循环体语句
      
  • for 循环

    • 通常用于可迭代对象的遍历。

    • for循环的语法格式如下:

        for 变量 in 可迭代对象:
            循环体语句
      
  • 测试代码:

      # for 循环
      def test5():
          sum = 0
          for i in range(10):
              sum += i
          print(sum)
    
          for x in (10, 20, 30):
              print(x * 10)
    
          d = {'name': 'YJP', 'age': 21}
          for x in d:
              print(x)
          for x in d.keys():
              print(x)
          for x in d.values():
              print(x)
    
    
      # Main
      if __name__ == '__main__':
          test5()   
    
  • range 对象

    • range对象是一个迭代器对象,用来产生指定范围的数字序列。
    • 格式为: range(start, end, step)
    • 生成的数值序列从start开始到end结束(不含end)。
    • 如果没有填写start,则默认从0开始,step是可选步长,默认为1。
    • 示例:
      • for i in range(10) – 序列:0 1 2 3 4 5 6 7 8 9
      • for i in range(3, 10) – 序列:3 4 5 6 7 8 9
      • for i in range(3, 10, 2) – 序列:3 5 7 9
  • 代码测试:

      # 100以内的奇偶数和
      def test6():
          sum_all = 0
          sum_odd = 0
          sum_even = 0
          for x in range(101):
              sum_all += x
              if x % 2 == 1:
                  sum_odd += x
              else:
                  sum_even += x
    
          print("0-100累加总和{0},奇数和{1},偶数和{2}".format(sum_all, sum_odd, sum_even))
    
    
      # Main
      if __name__ == '__main__':
          test6()
    

你可能感兴趣的:(Python,python,学习,开发语言)