流程控制之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. 单分支和双分支的差别,当有一个事件有两中情况或多种情况都采用双份支或多份支结构,因为采用单分支效率低于双分支;
在当下的阶段,必将由程序员来主导,甚至比以往更甚。
原文地址:https://www.cnblogs.com/randysun/p/12216671.html