python:循环嵌套

    SEO基础 wuya 71次浏览 已收录 0个评论

    循环嵌套

    • 循环能否嵌套?
    • 示例1:
      n = int(input('请输入一个整数:'))
      
      # 外层循环用来控制行数
      for i in range(1, n+1):
          # print('*' * i)
          # 内存循环用来控制每一行的列数
          for j in range(i):
              print('*', end='')
          print()
    • 示例2:
      n = int(input('请输入一个整数:'))
      # 外层循环控制打印多少行
      for i in range(n):
          # 内存循环控制每行怎么打印
          for j in range(i+1):
              print(j+1, end=' ')
          print()
    • 列表排序
      • 冒泡排序
      lt = [4, 6, 2, 8, 3, 5, 1]
      
      # 冒泡:从小到大
      # 第一轮:4, 2, 6, 3, 5, 1, 8
      # 第二轮:2, 4, 3, 5, 1, 6, 8
      
      n = len(lt)
      # 外层循环控制比较多少轮
      for i in range(n-1):
          # 内存循环控制两两元素的比较
          for j in range(n-1-i):
              if lt[j] > lt[j+1]:
                  # 交换元素
                  # temp = lt[j]
                  # lt[j] = lt[j+1]
                  # lt[j+1] = temp
                  # python特有
                  lt[j], lt[j+1] = lt[j+1], lt[j]
      
      print(lt)
      • 选择排序:自己实现
      lt = [4, 6, 2, 8, 3, 5, 1]
      
      # 选择:从小到大 
      # 第一轮:1, 6, 4, 8, 3, 5, 2
      # 第二轮:1, 2, 6, 8, 4, 5, 3

    • 切割与拼接
      s = 'I love more than i can say'
      # 按照指定的内容进行切割,默认按照空白(空格、\n、\t)
      # ret = s.split(sep='o')
      # 指定最大切割次数,默认不限制
      # ret = s.split(maxsplit=2)
      # 从右边开始切割
      ret = s.rsplit(maxsplit=1)
      print(ret)
      
      s = 'hello\nworld'
      # 按照换行进行切割
      print(s.splitlines())
      
      lt = ['how', 'are', 'you']
      # 按照指定的内容进行拼接
      s = ' '.join(lt)
      print(s)
    • 查找
      s = 'Hi buddy! If you have something to say, then say; If you have nothing to say, then go!'
      
      # 返回首次出现的下标,没有找到返回-1
      # ret = s.find('buddy')
      # ret = s.find('If')
      # ret = s.find('hello')
      
      # 功能同上,从右边查找
      # ret = s.rfind('If')
      
      # 统计字符串出现的次数
      ret = s.count('If')
      
      print(ret)
      
      # 判断是否是以指定内容开头
      print(s.startswith('Hi'))
      
      # 判断是否是以指定内容结尾
      print(s.endswith('xxx'))
    • 更改
      s = 'hello World'
      
      # 全大写
      print(s.upper())
      
      # 全小写
      print(s.lower())
      
      # 大小写转换
      print(s.swapcase())
      
      # 首字母大写
      print(s.capitalize())
      
      # 每个单词首字母大写
      print(s.title())
      
      # 替换
      print(s.replace('l', 'L'))
    • 判断
      # 是否是全大写
      print('HELLO'.isupper())
      
      # 是否是全小写
      print('hello'.islower())
      
      # 是否是每个单词首字母都大写
      print('Hello world'.istitle())
      
      # 是否是全数字
      print('1234'.isdecimal())
      
      # 是否是全字母
      print('abc123'.isalpha())
      
      # 是否是数字或字母
      print('abc123'.isalnum())
      
      # 是否是合理的标识符
      print('1hello'.isidentifier())
    • 对齐与填充
      # 左对齐,右侧填充指定内容,默认填充空格
      print('abc'.ljust(5, '*') + 'AAA')
      
      # 右对齐,左边填充
      print('abc'.rjust(5, '#'))
      
      # 居中对齐,两边填充
      print('abc'.center(5, '$'))

    练习:

    • 计算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 56 7 8 9 10

    学海无涯 , 版权所有丨如未注明 , 均为原创丨转载请注明python:循环嵌套
    喜欢 (0)
    发表我的评论
    取消评论
    表情 加粗 删除线 居中 斜体 签到

    Hi,您需要填写昵称和邮箱!

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址