zoukankan      html  css  js  c++  java
  • 流程控制之if判断

    流程控制之if判断

    一、语法

    if判断是干什么的呢?if判断其实是在模拟人做判断。就是说如果这样干什么,如果那样干什么。对于ATM系统而言,则需要判断你的账号密码的正确性,进行账户认定,否则你的money不就可以别人家随便拿跑了。

    二、if单分支结构

    学什么都是为了让计算机向人一样工作,我们无时无刻都在判断。路边路过一个生物,你会判断两个人是不是会表白?首先会判断这个生物是不是人类,并且这个人类是个女人,年龄大于18小于20几岁。你首先需要记录一堆数据,然后才会用你的大脑去判断。if表示if成立代码成立会干什么。

    if 条件:
        代码1
        代码2
        代码3
        ...
    # 代码块(同一缩进级别的代码,例如代码1、代码2和代码3是相同缩进的代码,这三个代码组合在一起就是一个代码块,相同缩进的代码会自上而下的运行)
    
    

    eg:

    cls = 'human'
    gender = 'female'
    age = 18
    
    if cls == 'human' and gender == 'female' and age > 16 and age < 22:
        print('开始表白,然后扒炉')
    
    print('end...')
    

    开始表白,然后扒炉
    end...

    三、 if...else双分支结构

    if...else表示if成立代码成立会干什么,else不成立会干什么。

    eg

    cls = 'human'
    gender = 'female'
    age = 38
    
    if cls == 'human' and gender == 'female' and age > 16 and age < 22:
        print('开始表白')
    else:
        print('阿姨好')
    
    

    结果阿姨好

    四、 if...elif...else多分支

    if 条件1:
        代码1
        代码2
        代码3
        ...
    elif 条件2:
        代码1
        代码2
        代码3
        ...
    elif 条件3:
        代码1
        代码2
        代码3
        ...
    ...
    else:
        代码1
        代码2
        代码3
        ...
    

    if...elif...else表示if条件1成立干什么,elif条件2成立干什么,elif条件3成立干什么,else...否则干什么。

    cls = 'human'
    gender = 'female'
    age = 28
    
    if cls == 'human' and gender == 'female' and age > 16 and age < 22:
        print('开始表白')
    elif cls == 'human' and gender == 'female' and age > 22 and age < 30:
        print('考虑下')
    else:
        print('阿姨好')
    
    

    考虑下

    四、if的嵌套

    如果我们表白的时候,表白成功的时候我们是不是会做什么,表白不成功是不是又会会做什么呢?

    # if的嵌套
    cls = 'human'
    gender = 'female'
    age = 18
    is_success = False
    
    if cls == 'human' and gender == 'female' and age > 16 and age < 22:
        print('开始表白')
        if is_success:
            print('那我们一起走吧...')
        else:
            print('我逗你玩呢')
    else:
        print('阿姨好')
    开始表白
    我逗你玩呢
    

    五、三元表达式

    一般用于一件事件只有两种结果,采用使用三元表达式比较合适

    print('True') if True else print('False') # True
    
    print('True') if False else print('False') #  False
    

    五、练习

    3.1 练习:输入姑娘的年龄后,进行以下判断:

    1. 如果姑娘小于18岁,打印“不接受未成年”
    2. 如果姑娘大于18岁小于25岁,打印“心动表白”
    3. 如果姑娘大于25岁小于45岁,打印“阿姨好”
    4. 如果姑娘大于45岁,打印“奶奶好”
    age_inp = input("输入年龄:")
    age_inp = int(age_inp)
    
    if age_inp < 18:
        print("不接受未成年")
    elif age_inp < 25:
        print("心动表白")
    elif age_inp < 45:
        print("阿姨好")
    else:
        print("奶奶好")
    

    六、总结

    1. 单分支结构:if <条件> : 代码块, 适用于单个条件使用单分支结构;
    2. 双分支结构: if<条件>: 代码块 else: <代码块>,适用于一个事件有两种情况使用;
    3. 多分支结构: if<条件>: 代码块 elif <条件>: <代码块> ....... else: <代码块>,适用于多个事件有多种情况使用;
    4. if嵌套:if分支嵌套,只有外层条件成立之后才会执行嵌套里面的if语句;
    5. 三元表达式: 条件成立代码 if <条件> else 条件不成立代码块;
    6. 单分支和双分支的差别,当有一个事件有两中情况或多种情况都采用双份支或多份支结构,因为采用单分支效率低于双分支;
    在当下的阶段,必将由程序员来主导,甚至比以往更甚。
  • 相关阅读:
    [BJOI2019] 光线
    C# 从零开始写 SharpDx 应用 笔刷
    BAT 脚本判断当前系统是 x86 还是 x64 系统
    BAT 脚本判断当前系统是 x86 还是 x64 系统
    win2d 通过 CanvasActiveLayer 画出透明度和裁剪
    win2d 通过 CanvasActiveLayer 画出透明度和裁剪
    PowerShell 拿到显卡信息
    PowerShell 拿到显卡信息
    win10 uwp 如何使用DataTemplate
    win10 uwp 如何使用DataTemplate
  • 原文地址:https://www.cnblogs.com/randysun/p/12216671.html
Copyright © 2011-2022 走看看