Python条件语句怎么用(python条件语句的基本结构)

liftword5个月前 (01-22)技术文章46

if 条件判断语句

python 语句是按固定顺序执行的,先执行前面的语句,再执行后面的语句。如果你像要程序按照你自己定制的流程执行,就需要用到流程控制的语句,最主要用到的是条件语句和循环语句。

条件语句用 if 表示,它表示当满足某个条件时,执行下面的分支代码。当条件不满足时,则跳过下面的分支代码。

image-20210907141048465

在互联网产品中,你经常能看到条件判断的场景。比如在一个 app 的登录页面中,输入用户名和密码后,程序会判断用户名和密码是否正确,如果正确,则运行用户进入登录状态。如果错误,则必须重新输入。

对应的伪代码为:

if 用户名和密码正确:
      登录成功
else:
      重新输入用户名和密码

if 语句的语法可以表示为:

if expression:
      statement1
else:
      statement2

当 expresssion 这个表达式为 True,表示条件满足,statement1 会执行;当 expression 表达式结果为 False,则跳到 statement2 执行。 else 表示在一个 if 语句中上面所有的条件均不满足时,会执行的分支。当你确定 else 时你不需要做任何事,可以省略 else:

if expression:
      statement1

这里需要注意一点,在 python 中遇到冒号: 时,新的一行要缩进,表示子句。如果没有新行,而是直接把语句跟在后面,则不需要缩进:

if expression: statement1

举个例子来说明一下 if 语句的用法。当学生考试成绩高于 80 分,表示良好,否则表示一般。

score = 88
if score > 80:
      print("良好")
else:
      print("一般")

有时候一个 if 语句中会有多个条件判断,可以使用 elif 来分隔每一组条件。

score = 70
if score > 80:
      print("良好")
elif 60 < score <= 80:
      print("还行")
else:
      print("不及格")

在同一个 if 语句中,只有第一个率先满足条件的分支会执行,其他的分支不会执行。在上面的例子中,学生得了 70 分,第二个条件表达式率先满足,则走第二个分支。 而在下面的例子中,如果多个条件的范围有重合,会打印什么呢?

score = 70
if score > 60:
      print("不错哦")
elif 60 < score <= 80:
      print("还好")
else:
      print("不及格")

因为第一个条件率先满足,所以直接执行第一个分支,其他的分支都不再执行。

多个 if 表达式需要独立判断:

score = 70
if score > 60:
      print("不错哦")
if 60 < score <= 80:
      print("还好")
else:
      print("不及格")

在这个例子中,有 2 个 if 表达式,第一个不会影响第二个的执行。。

条件语句嵌套

在一个 if 语句中可以嵌套另一个 if 语句,像俄罗斯套娃一样。它表示在满足外层 if 条件后,可以执行里面的 if 语句。但是通常提早结束 if 语句,因为当条件语句嵌套很多层之后,会影响代码的可读性。

score = 88
age = 1

if score > 80:
    print("良好")
if age < 6:
    print("神童")
else:
    print("一般")

你可能不知道的条件操作

在程序当中,经常需要判断一个字符串是否为空,最常使用的方式是:

a = ''
if not a:
      print("字符串为空")
  
if a:
      print("字符串不为空")

不管是字符串也好,还是列表、字典、集合,都可以使用同样的方式判断他们是否为空。当然你也可以使用下面的方式,但是这些都不是好的做法。

if a == '':
      print("字符串为空")
if len(a) == 0:
      print("字符串为空")

判断是否为 None, 用 is 判断:

if a is None:
      print("a 为 None")

判断是否为 0:

if a == 0:
      print("a 为 0")

python条件判断语句案例

name = ''
password = ''
if name == 'admin' and password == '123456':
      print("登录成功")
else:
      print("登录失败")

相关文章

用python编写判断输入是否为整数的程序

最近在自学python,写了两个小程序,大家帮个看看有没有更好的方式来编写,没学过编程,学起来有点懵。想实现一个功能,就是判断外部输入是否为整数,就是判断是不是数字,要是输入的其他的返回“您输入的信息...

Python+selenium自动化之判定元素是否存在

在测试过程中,我碰到过这类的问题,使用find_element却找不到某个元素而产生异常,这就需要在操作某个元素之前判定该元素是否存在,而selenium中没有判定元素是否存在的方法,或者判定相同的元...

Python open函数详解(python open的用法)

演示环境,操作系统:Win10 21H2(64bit);Python解释器:3.8.10。open是Python的一个内置函数,一般用于本地文件的读写操作。用法如下。my_file = open(fi...

python 标志法-优化版(数值判断[正负])、非空判断、退出判断)

在这个程序中,我们使用了一个标志来指出程序是否处于活动状态,这样如果要添加测试(如elif 语句)以检查是否发生了其他导致quit_msg2变为False 的事件,将很容易。在复杂的程序中,如很多事件...

python的3个基本语句,语法真的很基础,但有些酷的语法你用过?

针对python中最常用的三个基本语句,虽然平时工作中一直在使用,但是有些细节方面,之前还是没有注意到,故对这三个基本语句做个记录 。赋值语句变量的赋值可以理解为往小罐子里存放数据,然后再给小罐子上贴...

印度“光辉”战机前途不光辉(印度光辉战机作战半径)

来源:科技日报“光辉”战机采用了切根三角翼设计,利用涡升力增大了升力系数。由于利用了涡升力,切根三角翼不但大大提高了升力系数,其升力斜率也比传统三角翼要大一些,保留了无尾三角翼本身跨超音速阻力小的同时...