『Python基础-6』if语句, if-else语句


目录:

  1. 条件测试
  2. if语句
  3. if-else语句

1. 条件测试

  • 每条if语句的核心都是一个值为True或False的表达式,这种表达式被称为条件测试。
  • Python 根据条件测试的值为True还是False来决定是否执行if语句中的代码。
  • 如果条件测试的值为True, Python就执行紧跟在if语句后面的代码.
  • 如果为False,Python就忽略这些代码。
  • Python程序语言指定任何非0和非空(null)值为true,0 或者 null为false。
  • 可以通过下图来简单了解条件语句的执行过程:

num1 =1
num2 =2
result = num1 ==num2
print(result) #运行结果:False
  • 运用关系运算符和逻辑运算符,我们可以做很多的测试;例如:

    ~ 检查是否相等

    ~ 检查是否相等时不考虑大小写

    ~ 检查是否不相等

    ~ 比较数字

    ~ 使用and和or检查多个条件

    ~ 检查特定值是否包含(或不包含)在列表里

    ~ 检查两个字符串相等和不等。

    ~ 使用函数 lower()的测试。

    ~ 检查两个数字相等、不等、大于、小于、大于等于和小于等于。


2. if语句

编程时经常需要检查一系列条件,并据此决定采取什么措施。在 Python中,if语句让你能够检查程序的当前状态,并据此采取相应的措施。

if语句的格式:

  if 判断的条件
条件成立, 执行if语句里的代码
不成立,执行if语句外的代码

[!]一定要注意缩进问题!if 只执行if语句后面所有缩进的语句,否则,将忽略。

 age = int(input("请输入您的年龄:"))
print("if语句将要开始判断条件啦")
if age >= 18:
print("您已达到法定年龄.") # 条件成立,执行这句话
print("if语句判断条件结束啦")


3. if-else语句

经常需要在条件测试通过了时执行一个操作,并在没有通过时执行另一个操作;在这种情况 下,可使用Python提供的if-else语句。

if-else语句块类似于简单的if语句,但其中的else语句 让你能够指定条件测试未通过时要执行的操作.

例如,根据年龄段收费的游乐场 票价查询:

age = 12
if age < 4:
price = 0
elif age < 18:
price = 5
elif age <65:
price=10
else:
price = 10
print("你的门票价格是$" + str(price) + ".")
  • 为让代码更简洁,可不在if-elif-else代码块中打印门票价格,而只在其中设置门票价格, 并在它后面添加一条简单的print语句:

    • 可根据需要使用任意数量的elif代码块,例如,假设前述游乐场要给老年人打折,可再添加 一个条件测试,
省略else代码块

Python并不要求if-elif结构后面必须有else代码块。

在有些情况下,else代码块很有用;而 在其他一些情况下,使用一条elif语句来处理特定的情形更清晰.

例如上边的门票案例,可以写的更清晰简略:

age = 12
if age < 4:
price = 0
elif age < 18:
price = 5
elif age < 65:
price = 10
elif age >= 65:
price = 5
print("您的门票价格为$" + str(price) + ".")

注意:

  • if-elif-else结构功能强大,但仅适合用于只有一个条件满足的情况:遇到通过了的测试后, Python就跳过余下的测试。这种行为很好,效率很高,让你能够测试一个特定的条件。

  • 然而,有时候必须检查你关心的所有条件。在这种情况下,应使用一系列不包含elif和else 代码块的简单if语句。


谢谢阅读!(o)/~


『Python基础-6』if语句, if-else语句的更多相关文章

  1. 『Python基础-10』字典

    # 『Python基础-10』字典 目录: 1.字典基本概念 2.字典键(key)的特性 3.字典的创建 4-7.字典的增删改查 8.遍历字典 1. 字典的基本概念 字典一种key - value 的 ...

  2. 『Python基础-9』元祖 (tuple)

    『Python基础-9』元祖 (tuple) 目录: 元祖的基本概念 创建元祖 将列表转化为元组 查询元组 更新元组 删除元组 1. 元祖的基本概念 元祖可以理解为,不可变的列表 元祖使用小括号括起所 ...

  3. 『Python基础-8』列表

    『Python基础-8』列表 1. 列表的基本概念 列表让你能够在一个地方存储成组的信息,其中可以只包含几个 元素,也可以包含数百万个元素. 列表由一系列按特定顺序排列的元素组成.你可以创建包含字母表 ...

  4. 『Python基础-7』for循环 & while循环

    『Python基础-7』for循环 & while循环 目录: 循环语句 for循环 while循环 循环的控制语句: break,continue,pass for...else 和 whi ...

  5. 『Python基础-1 』 编程语言Python的基础背景知识

    #『Python基础-1 』 编程语言Python的基础背景知识 目录: 1.编程语言 1.1 什么是编程语言 1.2 编程语言的种类 1.3 常见的编程语言 1.4 编译型语言和解释型语言的对比 2 ...

  6. 『Python基础-12』各种推导式(列表推导式、字典推导式、集合推导式)

    # 『Python基础-12』各种推导式(列表推导式.字典推导式.集合推导式) 推导式comprehensions(又称解析式),是Python的一种独有特性.推导式是可以从一个数据序列构建另一个新的 ...

  7. 『Python基础-11』集合 (set)

    # 『Python基础-11』集合 (set) 目录: 集合的基本知识 集合的创建 访问集合里的值 向集合set增加元素 移除集合中的元素 集合set的运算 1. 集合的基本知识 集合(set)是一个 ...

  8. 『Python基础-5』数字,运算,转换

    『Python基础-5』数字,运算,转换 目录 基本的数字类型 二进制,八进制,十六进制 数字类型间的转换 数字运算 1. 数字类型 Python 数字数据类型用于存储数学上的值,比如整数.浮点数.复 ...

  9. 『Python基础-4』字符串

    # 『Python基础-4』字符串 目录 1.什么是字符串 2.修改字符串 2.1 修改字符串大小 2.2 合并(拼接)字符串 2.3 使用乘号'*'来实现字符串的叠加效果. 2.4 在字符串中添加空 ...

随机推荐

  1. lua-excel助手

    excel是我们工作及生活当中不可或缺的东西,好吧,我是一个游戏程序员,数值哥哥肯定会给我些表格的.回归正题,为什么需要做这个封装? 为什么需要这个项目,因为我们需要使用程序进行自动化操作 VBA我们 ...

  2. SAP S/4HANA里如何创建Customer主数据以及执行后续处理

    来自Jerry的同事Zhang Sean. 1, Launch tcode: BP and select the Organization 2, Maintain the information fo ...

  3. ASP.NET 页面基本优化.

    一.禁用Browser Link(目前主要用来是刷新vs ide 浏览界面),直接干掉. <!-- Visual Studio Browser Link --> <script ty ...

  4. 【ACM】那些年,我们挖(WA)过的最短路

    不定时更新博客,该博客仅仅是一篇关于最短路的题集,题目顺序随机. 算法思想什么的,我就随便说(复)说(制)咯: Dijkstra算法:以起始点为中心向外层层扩展,直到扩展到终点为止.有贪心的意思. 大 ...

  5. Java -- Arrays.asList()方法

    Arrays.asList() 是将数组作为列表 问题来源于: public class Test { public static void main(String[] args) { int[] a ...

  6. pypy入门:pypy的安装及使用介绍

    在做python开发的人,应该或多或少的听说过一点pypy吧.我猜.所以就不做背景介绍了,有不懂的同学可以看看这里: 1.什么是pypy: http://www.360doc.com/content/ ...

  7. 从数据库反向生成django的models

    有办法实现django 数据库反向生成models的方法吗?答案是肯定的. 1. 配置 settings.py 中的数据库配置部分 DATABASES = { 'default': { 'ENGINE ...

  8. 谈谈Ajax(二)

    昨天还没有谈完,今天做一个了解. 首先还是以错误,来讲述. 一.AJax常见错误 Ajax常见的错误,除了昨天列举的之外.还有就是如下状态码: 405,请求类型错误,比如请求是POST,你却用GET, ...

  9. TCP Flow Control and Data Transfer

    TCP Flow Control TCP Data Transfer Selective Repeat ARQ with Positive ACK Window slides a byte basis ...

  10. 关于void*类型的用法(相当于OC中的id类型)

    关于void*类型的用法(相当于OC中的id类型) 1.C++语言在对于void* 类型的使用很特别,因为void* 可以间接引用任何其他数据类型的指针,比如int*.float*甚至抽象数据类型的指 ...