page contents

Everyone,look at here! if语句的详细介绍来啦!

if语句是我们在python学习过程中很重要的知识点哦!

1、if语句

1、1 Python的流程控制

和其它编程语言一样,按照执行流程划分,Python 程序也可分为 3 大结构,即顺序结构、选择(分支)结构和循环结构:

Python 顺序结构就是让程序按照从头到尾的顺序依次执行每一条 Python 代码,不重复执行任何代码,也不跳过任何代码。

Python 选择结构也称分支结构,就是让程序“拐弯”,有选择性的执行代码;换句话说,可以跳过没用的代码,只执行有用的代码。

Python 循环结构就是让程序“杀个回马枪”,不断地重复执行同一段代码。

1、2 if语句

之前我们看到的代码都是顺序执行的,也就是先执行第1条语句,然后是第2条、第3条……一直到最后一条语句,这称为顺序结构。

但是对于很多情况,顺序结构的代码是远远不够的,比如一个程序限制了只能成年人使用,儿童因为年龄不够,没有权限使用。这时候程序就需要做出判断,看用户是否是成年人,并给出提示。

在 python 中,可以使用 if else 语句对条件进行判断,然后根据不同的结果执行不同的代码,这称为选择结构或者分支结构。

Python 中的 if else 语句可以细分为三种形式,分别是 if 语句、if else 语句和 if elif else 语句,它们的语法和执行流程如下图所示。

attachments-2021-05-iSayEBvg60966b5de20f9.pngattachments-2021-05-iK2tpjtq60966b6f151b5.pngattachments-2021-05-f9BACKDj60966b8213385.png

以上三种形式中,第二种和第三种形式是相通的,如果第三种形式中的 elif 块不出现,就变成了第二种形式。另外,elif 和 else 都不能单独使用,必须和 if 一起出现,并且要正确配对。

对语法格式的说明:

“表达式”可以是一个单一的值或者变量,也可以是由运算符组成的复杂语句,形式不限,只要它能得到一个值就行。不管“表达式”的结果是什么类型,if else 都能判断它是否成立(真或者假)。

“代码块”由相同缩进量的若干条语句组成。

if、elif、else 语句的最后都有冒号 : ,不要忘记。

一旦某个表达式成立,Python 就会执行它后面对应的代码块;如果所有表达式都不成立,那就执行 else 后面的代码块;如果没有 else 部分,那就什么也不执行。

执行过程最简单的就是第一种形式——只有一个 if 部分。如果表达式成立(真),就执行后面的代码块;如果表达式不成立(假),就什么也不执行。

对于第二种形式,如果表达式成立,就执行 if 后面紧跟的代码块1;如果表达式不成立,就执行 else 后面紧跟的代码块2。

对于第三种形式,Python 会从上到下逐个判断表达式是否成立,一旦遇到某个成立的表达式,就执行后面紧跟的语句块;此时,剩下的代码就不再执行了,不管后面的表达式是否成立。如果所有的表达式都不成立,就执行 else 后面的代码块。

总起来说,不管有多少个分支,都只能执行一个分支,或者一个也不执行,不能同时执行多个分支。

【实例1】使用第一种选择结构判断用户是否符合条件:

age = int(input("请输入你的年龄:"))
if age < 18:
   print("你还未成年,建议在家人陪同下使用该软件!")
   print("如果你已经得到了家长的同意,请忽略以上提示。")
# 该语句不属于if的代码块
print("软件正在使用中...")

运行结果1:

请输入你的年龄:15你还未成年,建议在家人陪同下使用该软件!如果你已经得到了家长的同意,请忽略以上提示。软件正在使用中...

运行结果2:

请输入你的年龄:20软件正在使用中...

从运行结果可以看出,如果输入的年龄小于 18,就执行 if 后面的语句块;如果输入的年龄大于等于 18,就不执行 if 后面的语句块。这里的语句块就是缩进四个空格的两个 print() 语句。

【实例2】修改上方代码:

age = int(input("请输入你的年龄:"))
if age < 18:
   print("警告:你还未成年,不能使用该软件!")
   print("未成年人应该好好学习,读个好大学,报效祖国。")
else:
   print("你已经成年,可以使用该软件。")
   print("时间宝贵,请不要在该软件上浪费太多时间。")
print("软件正在使用中...")

运行结果1:

请输入你的年龄:15警告:你还未成年,不能使用该软件!未成年人应该好好学习,读个好大学,报效祖国。软件正在使用中...

运行结果2:

请输入你的年龄:20你已经成年,可以使用该软件。时间宝贵,请不要在该软件上浪费太多时间。软件正在使用中...

【实例3】判断一个人的身材是否合理:

height = float(input("输入身高(米):"))
weight = float(input("输入体重(千克):"))
bmi = weight / (height * height)  #计算BMI指数
if bmi < 18.5:
   print("BMI指数为:"+str(bmi))
   print("体重过轻")
elif bmi >= 18.5 and bmi < 24.9:
   print("BMI指数为:"+str(bmi))
   print("正常范围,注意保持")
elif bmi >= 24.9 and bmi < 29.9:
   print("BMI指数为:"+str(bmi))
   print("体重过重")
else:
   print("BMI指数为:"+str(bmi))
   print("肥胖")

运行结果1:

输入身高(米):1.75输入体重(千克):65BMI指数为:21.224489795918366正常范围,注意保持

运行结果2:

输入身高(米):1.78输入体重(千克):100BMI指数为:31.561671506122963肥胖

需要强调的是,Python 是一门非常独特的编程语言,它通过缩进来识别代码块,具有相同缩进量的若干行代码属于同一个代码块,所以不能胡乱缩进,这样很容易导致语法错误。

1、3 if嵌套

前面详细介绍了 3 种形式的条件语句,即 if、if else 和 if elif else,这 3 种条件语句之间可以相互嵌套。

attachments-2021-05-UV3ZROxr60966bc032f2e.png

例如,在最简单的 if 语句中嵌套 if else 语句,形式如下:

if 表达式 1: if 表示式 2: 代码块 1 else: 代码块 2

再比如,在 if else 语句中嵌套 if else 语句,形式如下:

if 表示式 1: if 表达式 2: 代码块 1 else: 代码块 2else: if 表达式 3: 代码块 3 else: 代码块 4

Python 中,if、if else 和 if elif else 之间可以相互嵌套。因此,在开发程序时,需要根据场景需要,选择合适的嵌套方案。需要注意的是,在相互嵌套时,一定要严格遵守不同级别代码块的缩进规范。

【实例】判断是否为酒后驾车如果规定,车辆驾驶员的血液酒精含量小于 20mg/100ml 不构成酒驾;酒精含量大于或等于 20mg/100ml 为酒驾;酒精含量大于或等于 80mg/100ml 为醉驾。先编写 Python 程序判断是否为酒后驾车。

通过梳理思路,是否构成酒驾的界限值为 20mg/100ml;而在已确定为酒驾的范围(大于20mg/100ml)中,是否构成醉驾的界限值为 80mg/100ml,整个代码执行流程应如上图所示。

由此,我们可以使用两个 if else 语句嵌套来实现:

proof = int(input("输入驾驶员每 100ml 血液酒精的含量:"))
if proof < 20:
   print("驾驶员不构成酒驾")
else:
   if proof < 80:
       print("驾驶员已构成酒驾")
   else:
       print("驾驶员已构成醉驾")

运行结果:

输入驾驶员每 100ml 血液酒精的含量:60驾驶员已构成酒驾

当然,这个例子单独使用 if elif else 也可以实现,这里只是为了让初学者熟悉 if 分支嵌套的用法而已。

除此之外,if分支结构中还可以嵌套循环结构,同样,循环结构中也可以嵌套分支结构。

  • 发表于 2021-05-08 18:54
  • 阅读 ( 553 )
  • 分类:Python开发

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
Cara
Cara

36 篇文章

作家榜 »

  1. 轩辕小不懂 2403 文章
  2. 小柒 1470 文章
  3. Pack 1135 文章
  4. Nen 576 文章
  5. 王昭君 209 文章
  6. 文双 71 文章
  7. 小威 64 文章
  8. Cara 36 文章