• python -流程控制


    流程控制

    循环结构(while)

    • 格式

      while 表达式:
          语句块

      执行流程:当程序执行到while语句时,首先判断表达式的真假。若表达式的值为真,则执行对应的语句块,之后返回while继续判断表达式的真假;若表达式的值为假,则跳过语句块,跳过while。

    • 说明:

      • 表达式:也叫循环条件

      • 语句块:也叫循环体

      • 死循环:表达式的值一直为真,称为死循环

      • break:结束循环的执行(立即跳出循环)

      • continue:结束本次循环,直接进入下次循环

      • else:结合while使用

      i = 1
      while i <= 10:
          print(i)
          i += 1
          break
      else:
          # 循环正常退出会执行,非正常(break)退出时不会执行
          print('while正常结束')

    循环结构(for-in)

    • 说明:也是一种循环结构,常用于遍历可迭代的对象,如:字符串、列表、元组、字典、集合

    • 格式:

      for x in y:
          循环体

      执行流程:x依次表示y中的一个元素,遍历完所有元素后结束循环。

    • 示例:遍历字符串、列表、字典

    列表生成式

    • 可迭代对象:列表、元组、字典等都是可迭代对象,可以遍历的对象

    • range函数:

      print(range(10))
      print(range(0, 10))
      ​
      # range保存的是范围内的连续整数的生成方式
      # 可以遍历
      for i in range(10):
          print(i)
      ​
      # 可以转换为列表
      lt = list(range(10))
      print(lt)
    • 列表生成式:可以快速生成有特定规律的列表

      # print([i for i in range(1, 11)])
      # print([i*2 for i in range(1, 11)])
      # print([i*i for i in range(1, 11)])
      # print([str(i) for i in range(1, 11)])
      print([i for i in range(1, 11) if i%2==0])

    循环的嵌套

    • 循环能否嵌套?

      • 答:能

    • 示例:

      '''
      从终端输入一个整数n,打印如下图形
      1
      1 2
      1 2 3
      1 2 3 4
      ...
      1 2 3 4 ... n
      '''# 外层循环控制打印多少行
      i = 1
      while i < n+1:
          # 内层循环控制每一行的打印
          j = 1
          while j <= i:
              print(j, end='')
              j += 1
          i += 1
          print()

      练习:使用for-in完成上面的题目

      提示:可以结合range完成

    练习:

    • 计算1~100之间所有整数的和

    • 打印字符A~Z

    • 循环输入10个字符,小写转大写,大写转小写,其他字符不变,然后输出

    • 将12345转换为54321

    • 将12345转换为'12345',不要使用str

    • 将'12345'转换为12345,不要使用int

    • 遍历列表,打印:我叫name,今年age岁,家住dizhi,电话phone

      lt = [
          {'name':'小王', 'age':18, 'info':[('phone', '123'), ('dizhi', '广州')]},
          {'name':'小芳', 'age':19, 'info':[('phone', '789'), ('dizhi', '深圳')]},
          {'name':'小杜', 'age':22, 'info':[('phone', '567'), ('dizhi', '北京')]},
          {'name':'小孟', 'age':28, 'info':[('phone', '000'), ('dizhi', '上海')]},
          {'name':'小乔', 'age':26, 'info':[('phone', '111'), ('dizhi', '河南')]},
      ]
    • 打印九九乘法表

    • 从终端输入两个整数m,n,打印m*n的表格,如:2,5,打印如下图形

      1 2 3 4 5
      6 7 8 9 10

  • 相关阅读:
    静态化之优化
    SEO小技巧
    apache 工具和简单优化
    apache rewrite机制
    nginx php win平台配置
    mvc 简单模型
    php无限分类三种方式
    【转】sqlserver查询数据库中有多少个表
    【转】sqlserver数据库之间的表的复制
    SET ANSI_NULLS (TransactSQL)
  • 原文地址:https://www.cnblogs.com/chengxubo/p/9902336.html
Copyright © 2020-2023  润新知