分支和循环

一、流程控制

  1. 流程控制 - 通过代码控制程序执行的顺序

  2. 三种程序执行的方式

    1)顺序结构:代码从上往下按顺序执行,每条语句只执行一次(默认)

    print("hello")
    print("小爷")
    

    2)分支结构:执行代码时,根据条件选择执行或者不执行某些代码(if语句)

    age = 19
    if age >= 18:
        print("成年")
    else:
        print("未成年")
    

    3)循环结构:让代码重复执行–代码只写一遍,重复执行多次(for、while)

    for _ in range(10):
        print('小爷')
    

二、分支结构

  1. if单分支结构

    1)语法:

    ​ if 条件语句:
    代码段

    2)说明:

    ​ a. if - 关键字;固定写法
    ​ b.条件语句 - 条件对应的代码(必须是一个有结果的表达式)
    ​ c.冒号 - 固定写法(必须是英文冒号)
    ​ d.代码段

    ​ 结构上,和if保持一个缩进的一条或多条语句,至少一条
    ​ 逻辑上,代码段满足条件才会执行代码

    3)执行过程
    先判断条件语句是否成立,如果成立就执行代码段,否则代码段就不执行

    # 案例:如果score大于80分就打印通过
    score = 99
    if score > 80:
        print('通过')
    
    # 练习:根据num的值打印‘奇数’
    num = 79
    if num % 2 != 0:
        print("{}是奇数".format(num))
    
    # 打印水仙花数
    for i in range(100,1000):
        a = i // 100 # 百位
        b = i % 100//10 # 十位
        c = i % 10
        if (a**3 + b**3 + c**3) == i:
            print("{}是水仙花数".format(i))
    
  2. if双分支结构(满足条件执行某个操作,条件不满足的时候执行另外的操作)

    语法:

    ​ if 条件语句:
    代码段1
    ​ else:
    代码段2

    # 练习1:根据num的值打印'奇数'或者'偶数'
    num = 80
    if num % 2 == 0:
        print('偶数')
    else:
        print('奇数')
    # 练习2:根据age的值打印'成年'或者'未成年'
    age = 29
    if age < 18:
        print('未成年')
    else:
        print('成年')
    # 练习3:如果num大于10就让num减5,否则将num加5
    num = 89
    if num > 10:
        num -= 5
    else:
        num += 5
    
  3. if多分支结构

    1)方法1: 直接使用多个if单分支(如果其中一个条件成立,别的条件也可能成立的时候用)

    语法:

    if 条件语句1:
    代码段1
    if 条件语句2:
    代码段2
    if 条件语句3:
    代码段3

    # 案例:如果考试考了100分 - 买车;考了90多分 - 买鞋;考了80多分 - 吃火锅;80分以下  - 打死
    score = 100
    if score < 80:
        print('打死')
    if 80 <= score < 90:
        print('吃火锅')
    if 90 <= score < 100:
        print('买鞋')
    if score >= 100:
        print('买车')
    

    2)方法2:–使用if-elif (如果其中一个条件成立,其他条件绝对不会成立的时候用)

    语法:

    if 条件语句1:
    代码段1
    elif 条件语句2:
    代码段2
    elif 条件语句3:
    代码段3

    else:
    代码段N

    执行特点:后面的条件是在前面的条件不成立的情况下进行判断

    # 案例:如果考试考了100分 - 买车;考了90多分 - 买鞋;考了80多分 - 吃火锅;80分以下  - 打死
    score = 100
    if score < 80:
        print('打死')
    elif score < 90:
        print('吃火锅')
    elif score < 100:
        print('买鞋')
    else:
        print('买车')
    
    # 练习1:如果num是偶数就打印‘偶数’,如果是奇数就打印‘奇数’,如果能被5整除就打印‘5的倍数’
    # num = int(input("请输入一个数:"))
    # if num % 2 == 0:
    #     print("偶数")
    #     if num % 5 == 0:
    #         print("5的倍数")
    # elif num % 2 != 0:
    #     print("奇数")
    #     if num % 5 == 0:
    #        print("5的倍数")
    
    num = 250
    # 方法1:
    if num % 2 == 0:
        print('偶数')
    if num % 2 != 0:
        print('奇数')
    if num % 5 == 0:
        print('5的倍数')
    
    # 方法2:
    if num % 2 ==0:
        print('偶数')
    else:
        print('奇数')
    if num % 5 == 0:
        print('5的倍数')
    

三、for循环

  1. for循环

    1)语法

    for 变量 in 序列:
    循环体

    2)说明

    a. for - 关键字;固定写法
    b.变量 - 变量名
    c. in - 关键字;固定写法
    d.序列 - 容器型数据类型的数据就是序列;常见的容器型数据:字符串、列表、元组(10,20,30)、集合、字典、迭代器、生成器、range
    e.冒号 - 固定写法,要用英文
    f.循环体

    ​ 结构上和for保持一个缩进的一条或者多条语句,至少一条;

    ​ 逻辑上,需要重复执行的代码

    3)执行过程:让变量去序列中取值,一个一个取,取完为止,每取一个值就执行一次循环体。[循环次数由序列中元素的个数决定]

    # 案例:使用for循环,控制程序打印‘hello world!’5次
    for i in 'asvbg':
        print(i,'hello world!')
    print('你好')
    
    # 问题:使用for循环控制程序打印‘hello world!’100次?
    for i in range(100):
        print('hello world!')
    
  2. range函数 - 创建等差数列

    1)range(N) - 创建[0,N)的等差数列,差是1; eg. range(5)–0,1,2,3,4
    2)range(M,N) - 创建[M,N)的等差数列,差是1; eg.range(5,10)–5,6,7,8,9
    3)range(M,N,step) - 创建[M,N)的等差数列,差是step; eg.range(5,20,3) --5, 8, 11, 14, 17

    for i in range(5):
        print(i,end=' ')
    print()
    
    for i in range(5,10):
        print(i,end=' ')
    print()
    
    for i in range(5,20,3):
        print(i,end=' ')
    print()
    
    for i in range(10,1,-2):
        print(i,end=' ')
    print()
    
    
    # 练习:写出以下等差数列对应range函数
    # 0,1,2,3,4,5
    for i in range(6):
        print(i,end=' ')
    print()
    # 1,3,5,7,9,11
    for i in range(1,12,2):
        print(i,end=' ')
    print()
    # 90,100,110,120,130
    for i in range(90,140,10):
        print(i,end=' ')
    print()
    # 9,8,7,6,5
    for i in range(9,4,-1):
        print(i,end=' ')
    print()
    # 19,16,13
    for i in range(19,12,-3):
        print(i,end=' ')
    print()
    # 2,1,0,-1,-2
    for i in range(2,-3,-1):
        print(i,end=' ')
    print()
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值