最新消息:XAMPP默认安装之后是很不安全的,我们只需要点击左方菜单的 "安全"选项,按照向导操作即可完成安全设置。

Python第11天:Python 流程控制语句if…elif…else

XAMPP案例 admin 840浏览 0评论
从环境的配置、Pycharm的使用、Python语法的简介和四大数据结构我们都已经学习过了。今天我们来看看Python的选择语句,就从最简单的流程控制语句开始。
计算机在解决问题的时候,主要有三种形式。分别是顺序执行语句、选择执行语句和循环执行语句。对应到程序中的基本结构就是顺序结构、选择结构和循环结构。如下:
e20xampp

咱们先来看第一种选择语句。在Python中,主要有以下三种形式:

if 

if...else

if...elif...else

学过其他语言例如C、Java的小伙伴都知道。选择语句其实还包括Switch支持多重选择的,但是在Python中是没有Switch语句的。如果有多重选择的需求,只能选择if…elif…else多分支语句。

 

在Python中常用的关系运算符如下:
e020xampp

如果你买了一注彩票,中奖的号码是’888’,我们就可以使用If语句来判断你是否中奖

#中奖号码 888
number = int(input('请输入你的彩票号码:'))

if number == 888:
    print('哇!恭喜中大奖!')
if number != 888:
    print('很遗憾!')

'''
请输入你的彩票号码:888
哇!恭喜中大奖!
--------------------------
请输入你的彩票号码:887
很遗憾!
'''

当我们使用选择语句的时候,如果只有一条If语句,可以简化如下:

a = 88
b = 8
max = 0

if a > b:
    max = a
print(max)
#等价于
if a > b : max = a
print(max)

#88
#88

而 if…else 多用于二选一的情况。表达式如下:

if 表达式“
  语句1
else:
  语句2

飞机十点起飞。如果你是十点前到就可以飞走了;超过十点你就继续坐机场吧。

time = 10
if time <= 10:
    print('坐飞机楼!')
else:
    print('坐机场吧!')

if…else的表达式也可以简化如下:

a = 3

if a > 6:
    b = a
else:
    b = -a

print(b)
#等价于

a = 3
b = a if a > 6 else -a
print(b)

'''
-3
-3
'''

可以看出,结果不受任何影响。使用下面这个条件表达式只是一个目的,那就是简化代码。

if…elif…else表达式通常表现是’如果满足某种情况就执行某种处理,否则如果满足另一种条件,则去执行另一种处理…。表达式如下:

if 表达式1
  语句1
elif 表达式2
  语句2
elif 表达式3
  语句3
  ...........
else:
  语句n

学校规定考试成绩总分500及其以上就是一本。410-500之间就是二本。310-410之间按做三本。310以下那就复读。

结合这个案例我们来看看如下使用选择语句来执行。

score = float(input('考生输入成绩:'))

if score >= 500:
    print('恭喜你被一本院校录取!')
elif 410 <= score < 500:
    print('恭喜你被二本院校录取!')
elif 310 <= score < 500:
    print('恭喜你被三本院校录取!')
else:
    print('再来一年!')

'''
考生输入成绩:555
恭喜你被一本院校录取!
------------------
考生输入成绩:444
恭喜你被二本院校录取!
------------------
考生输入成绩:333
恭喜你被三本院校录取!
------------------
考生输入成绩:222
再来一年!
'''

说明:if和elif都需要判断表达式的真假,而else则不需要;此外,elif和else都必须和if搭配使用。不能单独使用。

if嵌套语句

前面介绍的三种if语句都可以嵌套使用,表达式如下:

if 表达式1:
  if表达式2:
    语句1
  else:
    语句2
if 表达式1:
  if表达式2:
    语句1
  else:
    语句2
else
  if
   :表达式3
      语句3
  ....................
  else:
      语句n

同样刚才哪个大学录取的案例:学校规定考试成绩总分500及其以上就是一本。410-500之间就是二本。310-410之间按做三本。310以下那就复读。

score = float(input('考生输入成绩:'))

if score >= 500:
    print('恭喜你被一本院校录取!')
else:
    if 410 <= score < 500:
        print('恭喜你被二本院校录取!')
    else:
        if 310 <= score < 500:
            print('恭喜你被三本院校录取!')
        else:
            print('再来一年!')

'''
考生输入成绩:555
恭喜你被一本院校录取!
------------------
考生输入成绩:444
恭喜你被二本院校录取!
------------------
考生输入成绩:333
恭喜你被三本院校录取!
------------------
考生输入成绩:222
再来一年!
'''

and连接的选择语句

and是Python语句中的连接符,只有两个都满足条件才会去执行的语句。

实际开发中并不只是单独的if..else。通常是要满足两个及其以上的条件才会出发执行条件。

例如我们申请驾照,年龄必须大于等于18并且要小于等于70岁才可以申请驾照。

age = int(input('亲输入您的年龄:'))

if age >= 18 and age <= 70:
    print('您可以申请驾照')

当然我们也可以使用单独的if语句实现它。

age = int(input('亲输入您的年龄:'))

if age >= 18:
    if age <= 70:
        print('您可以申请驾照')

当程序不满足条件时,我们可以按照自己的设定去修改代码。此处不多赘述。

or连接的选择语句

or是Python语句中的选择符,满足其中一个条件就会去执行的语句的判断。

超市中的商品单日销量高于100或者小于10的商品都列为重点关注对象。这句语句该怎么写呢?

sales = int(input('请输入产品销量:'))
if sales < 10 or sales >100:
    print('重点关注对象!!')

not连接的选择语句

实际开发中可能面临如下情况:

如果接收到的变量不为空,则输出’已经获取到了数据’,否则输出’没有接受到数据’。

或者说是当我们输入密码时,如果接受到其他非数字情况,皆输出’请输入正确的数字密码’

rcvdata = None

#代码尚未给rcvdata赋值,所以rcvdata为空
if not rcvdata:
    print('获取到了数据!')
else:
    print('没有接收到数据!')

转载请注明:XAMPP中文组官网 » Python第11天:Python 流程控制语句if…elif…else

您必须 登录 才能发表评论!