『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. ansible之基本原理及命令

    什么是ansible ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(\(puppet.chef.func.fabric\))的优点,实现了批量系统配置.批量程序部署 ...

  2. Nginx 作为 WebSockets 代理

    WebSocket 协议给我们提供了一个创建可以支持客户端和服务端进行双向实时通信的web应用程序的方法.相比之前使用的方法,WebSocket(作为HTML5的一部分)可以使我们更容易开的发出这种类 ...

  3. 学会WCF之试错法——超时

    服务契约 [ServiceContract] public interface IService { [OperationContract] string GetData(int value); [O ...

  4. Vue 问题记录

    Vue 问题记录 汇总日常开发中遇到的关于vue的问题 VeeValidator 语言设置 校验消息默认是英文的,定义中文或其他语言的错误提示消息 import VeeValidate from 'v ...

  5. js 实现图片无限横向滚动效果

    门户网站好多都有产品无线滚动展现的效果: 测试demo1 -- 非无缝滚动(可以看出来从头开始的效果): css样式如下: .box{ width: 1000px; border: 1px solid ...

  6. ServletRequest的四个主要方法

    package com.yunqing.servlet; import javax.servlet.*; import java.io.IOException; import java.util.Ar ...

  7. stack的三个意思

    (转自阮一峰的网络日志,原网址http://www.ruanyifeng.com/blog/2013/11/stack.html) 阮一峰老师终于又更新博客了,个人认为这篇文章有一定科普意义,有一定解 ...

  8. java 编写小工具 尝试 学习(二)

    1. 新建一个窗口  ,代码 如下 ,截图 如下 package jFrameDemo; import javax.swing.JFrame; import javax.swing.WindowCon ...

  9. Maven--archetypeCatalog笔记

    当我们使用maven原型生成项目骨架时,经常会在[INFO] Generating project in Interactive mode这个地方特别慢,这里并不是什么出错卡住的原因,你打开mvn的d ...

  10. Redis笔记 -- 在 Centos7.4单机中部署Redis集群(二)

    0x00--背景和目的 在单台PC服务器上部署Redis集群,通过不同的TCP端口启动多实例,模拟多台独立PC组成集群. 0x01--环境描述: Centos版本:CentOS Linux relea ...