『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. ubuntu安装最新版node和npm

    1.先在系统上安装好nodejs和npm           sudo apt-get install nodejs-legacy sudo apt-get install npm     2.升级n ...

  2. RMAN备份等级详解

    (2011-06-27 11:38:28) 转载▼ 标签: 杂谈 分类: oracle 在rman增量备份中,有差异增量和累积增量的概念 1.概念 差异增量:是备份上级及同级备份以来所有变化的数据块, ...

  3. .net 面向对象程序设计深入](3)UML

    1.活动图简介 定义:是阐明了业务用例实现的工作流程. 业务工作流程说明了业务为向所服务的业务主角提供其所需的价值而必须完成的工作. 业务用例由一系列活动组成,它们共同为业务主角生成某些工件. 工作流 ...

  4. Clean WRH$_ACTIVE_SESSION_HISTORY in SYSAUX

    Tablespace SYSAUX grows quickly. Run Oracle script awrinfo.sql to find what is using the space. One ...

  5. io问题导致的insert缓慢

    生产环境一日常insert在业务量加倍之后非常缓慢,对有问题sql做awr报告和10046trace得出以下结论:In the 10046 trace, the execution of sql el ...

  6. July 06th 2017 Week 27th Thursday

    Knowledge is the antidote to fear. 知识可以解除恐惧. Fear always steps from unknown things. Once we know wha ...

  7. 常规渗透:没遇到过的anquan狗

    0x01 信息收集 服务器信息: windows 2003 + IIS 6.0 + aspx . Php + 安全狗 站点cms信息:一套aspx新闻发布系统 和 Discuz X3 端口信息 : 服 ...

  8. (一)自定义ImageView,初步实现多点触控、自由缩放

    真心佩服那些一直专注于技术共享的大神们,正是因为他们无私的分享精神,我才能每天都有进步.近日又算是仔细学了android的自定义控件技术,跟着大神的脚步实现了一个自定义的ImageView.里面涉及到 ...

  9. UVa 12265 - Selling Land

    链接: https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem& ...

  10. 使用ByPropertyName进行管道传输

    管道参数绑定的两种方式: 可通过 help command -full查看 不同:简单讲ByPropertyName可以使B的多个参数被同时使用 使用ByPropertyName进行管道传输: 建立一 ...