python:循环嵌套

ernestwang 861 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条评论)

还木有评论哦,快来抢沙发吧~

复制成功
微信号: irenyuwang
关注微信公众号,站长免费提供流量增长方案。
我知道了