小白从0开始的python学习日志(五)

分支结构与循环结构

I.流程控制理论

  1. 流程控制:控制事物的执行流程

  2. 执行流程的分类:主要分三类,分别为顺序结构、分支结构、循环结构(可用processon.com制作流程图)

    1. 顺序结构
       从上往下依次执行,此前播客所编写的代码均为顺序结构
    2. # 分支结构
       根据某些条件的'判断',做出不同的执行流程,类似于条件框(yes/no)
    3. # 循环结构
       根据某些条件的判断循环往复地进行某一个流程(存在循环结束的条件)
    '在代码层面上为反复执行同一串代码'
    

II.分支结构

一.单if分支
  1. 定义:为条件成立时执行的代码,eg:

    如果女性的年龄大于14,则定义为妇女

    # 定义一个年龄
    age = 30
    # 判断年龄是否大于14
    if age > 14: 
        print('妇女')
    print('哪都有')
    # 当年龄>14时,输出'妇女'及'哪都有';当年龄≤14时则仅输出'哪都有'
    '''
    在python中以缩进来代表代码的从属关系,如以上代码中print前的缩进,代表print指令需满足if条件
    '''
    并不是所有的代码都有子代码(从属代码),如在以上例子中,print代码为if的子代码,目前只有if相关结构具有子代码,且所有子代码均需保证相同的缩进'一般以4个空格缩进(按Tab默认空4格)'
    eg:
    age = 30
    if age > 14: 
        print('妇女')
        print('半边天')
        print('3.8过节')
    
  2. 如果一行代码的结尾以’:'结束,代表该段代码需拥有子代码,下一行代码必会缩进

  3. 具有相同缩进量的代码会按顺序执行

二.if与else分支
  1. 定义:为条件成立或不成立时分别执行的不同子代码,

    如果女性的年龄大于14,则定义为妇女,否则定义为少女

    # 定义一个年龄
    age = 30
    # 判断年龄是否大于14
    if age > 14: 
        print('妇女')
    else:
        print('少女')
    print('%s岁的女子最好看' % (age))
    
  2. 分支内可继续分支,分支行也可以汇合后再次分支

三.if与elif与else分支
  1. 定义:为不同条件(>3个)时分别执行的不同子代码,

    如果女性的年龄小于7,则定义为幼女,7-14岁为少女,否则定义为妇女

    # 定义一个年龄
    age = 30
    # 判断年龄是否大于14
    if age < 7: 
        print('幼女')
    elif 7<= age < 14:
        print('少女')
    else :
        print('妇女')
    print('%s岁的女子最好看' % (age))
    
  2. elif可多次出现,即:将if-else的二选一修改为多选一,即单个条件框存在多个分支

四.if的嵌套结构
  1. 定义:为多个顺序条件执行的子代码,

    如果女性的年龄小于7,则定义为幼女,7-14岁为少女,否则定义为妇女,根据意愿给予幼女软糖,给予少女布娃娃,给予妇女手机,否则离开

    # 定义一个年龄
    age = 30
    is_hope = 1
    # 判断年龄是否大于14
    if age < 7: 
        print('幼女')
        if is_hope:
            print('给予软糖')
        else:
            print('离开')
    elif age < 14:
        print('少女')
        if is_hope:
            print('给予布娃娃')
        else:
            print('离开')
    else :
        print('妇女')
        if is_hope:
            print('给予手机')
        else:
            print('离开')
    
  2. 可有多个次级的if结构,并且每个if的子代码前均要再空4格

五.练习
  1. 编写一个用户登录程序

    如果用户名是Bob,密码为131713,则显示登陆成功

    否则显示用户名或密码错误

    该部分内容请自行编写后对答案

    usersname = input("用户名>>>:")
    passport = input("密码>>>:")
    if usersname == 'Bob' and passport == '131713':
        print("登陆成功")
    else:
        print("登陆失败")
    
  2. 编写一个绩点评判系统(4.0分制),如果成绩>3.8,则为优秀,>3.7为良好,如果>3.6,为一般,如果>3,为及格,其他为不及格(该部分内容请自行编写后对答案

    score = input('请输入你的绩点')
    if score > '3.8':
        print('优秀')
    elif score > '3.7':
        print('良好')
    elif score > '3.6':
        print('一般')
    else:
        print('不及格')
    

III.循环结构

一.while循环
  1. 定义:让一段代码反复执行

  2. 方法:在开头输入while 他ure:后续代码整体缩进

    while True:
        usersname = input("用户名>>>:")
        passport = input("密码>>>:")
        if usersname == 'Bob' and passport == '131713':
            print("登陆成功")
        else:
            print("登陆失败")
    
  3. 该循环永远不会终止,直到ture转为false

  4. 可以通过numbers代码控制循环次数,eg:循环10次

    numbers = 1
    while numbers <= 10:
        usersname = input("用户名>>>:")
        passport = input("密码>>>:")
        if usersname == 'Bob' and passport == '131713':
            print("登陆成功")
        else:
            print("登陆失败")
        numbers += 1
    
二.break和continue循环
  1. break循环:即结束本层循环—结束本层while循环

    numbers = 1
    while numbers <= 10:
        usersname = input("用户名>>>:")
        passport = input("密码>>>:")
        if usersname == 'Bob' and passport == '131713':
            print("登陆成功") 
            break
            #登录成功时结束循环
        else:
            print("登陆失败")
        numbers += 1
        #仅有10次登录失败机会
    
  2. continue结构:重复生成等差或者等比数字时,可通过该结构跳过某个或者某些循环

    eg:打印1-10的数字,并跳过4

    count = 1
    while count < 11:
        if count == 4:
            count += 1
            continue
        print(count)
        count += 1
    
三.找bug方法

在pycharm中以debug模式运行代码

  1. 在代码框中点选分支部分数行名(右侧1、2、3、4),在以上代码中为第二行
  2. 右键代码部分选择“Debug”运行
  3. 通过F7观察代码运行过程,找寻Bug所在
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值