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
    

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值