判断(if)语句

目标

  • 开发中的应用场景
  • if 语句体验
  • if 语句进阶
  • 综合应用

01. 开发中的应用场景

生活中的判断几乎是无所不在的,我们每天都在做各种各样的选择,如果这样?如果那样?……

程序中的判断

  1. if 今天发工资:
  2. 先还信用卡的钱
  3. if 有剩余:
  4. 又可以happy了,O(∩_∩)O哈哈~
  5. else:
  6. 噢,no。。。还的等30
  7. else:
  8. 盼着发工资

判断的定义

  • 如果 条件满足,才能做某件事情,
  • 如果 条件不满足,就做另外一件事情,或者什么也不做

正是因为有了判断,才使得程序世界丰富多彩,充满变化!

判断语句 又被称为 “分支语句”,正是因为有了判断,才让程序有了很多的分支

02. if 语句体验

2.1 if 判断语句基本语法

Python 中,if 语句 就是用来进行判断的,格式如下:

  1. if 要判断的条件:
  2. 条件成立时,要做的事情
  3. ……

注意:代码的缩进为一个 tab 键,或者 4 个空格 —— 建议使用空格

  • 在 Python 开发中,Tab 和空格不要混用!

我们可以把整个 if 语句看成一个完整的代码块

2.2 判断语句演练 —— 判断年龄

需求

  1. 定义一个整数变量记录年龄
  2. 判断是否满 18 岁 (>=
  3. 如果满 18 岁,允许进网吧嗨皮
  1. # 1. 定义年龄变量
  2. age = 18
  3. # 2. 判断是否满 18 岁
  4. # if 语句以及缩进部分的代码是一个完整的代码块
  5. if age >= 18:
  6. print("可以进网吧嗨皮……")
  7. # 3. 思考!- 无论条件是否满足都会执行
  8. print("这句代码什么时候执行?")

注意

  • if 语句以及缩进部分是一个 完整的代码块

2.3 else 处理条件不满足的情况

思考

在使用 if 判断时,只能做到满足条件时要做的事情。那如果需要在 不满足条件的时候,做某些事情,该如何做呢?

答案

else,格式如下:

  1. if 要判断的条件:
  2. 条件成立时,要做的事情
  3. ……
  4. else:
  5. 条件不成立时,要做的事情
  6. ……

注意

  • ifelse 语句以及各自的缩进部分共同是一个 完整的代码块

2.4 判断语句演练 —— 判断年龄改进

需求

  1. 输入用户年龄
  2. 判断是否满 18 岁 (>=
  3. 如果满 18 岁,允许进网吧嗨皮
  4. 如果未满 18 岁,提示回家写作业
  1. # 1. 输入用户年龄
  2. age = int(input("今年多大了?"))
  3. # 2. 判断是否满 18 岁
  4. # if 语句以及缩进部分的代码是一个完整的语法块
  5. if age >= 18:
  6. print("可以进网吧嗨皮……")
  7. else:
  8. print("你还没长大,应该回家写作业!")
  9. # 3. 思考!- 无论条件是否满足都会执行
  10. print("这句代码什么时候执行?")

03. 逻辑运算

  • 在程序开发中,通常 在判断条件时,会需要同时判断多个条件
  • 只有多个条件都满足,才能够执行后续代码,这个时候需要使用到 逻辑运算符
  • 逻辑运算符 可以把 多个条件 按照 逻辑 进行 连接,变成 更复杂的条件
  • Python 中的 逻辑运算符 包括:与 and或 or非 not 三种

3.1 and

  1. 条件1 and 条件2
  • 并且
  • 两个条件同时满足,返回 True
  • 只要有一个不满足,就返回 False
条件 1 条件 2 结果
成立 成立 成立
成立 不成立 不成立
不成立 成立 不成立
不成立 不成立 不成立

3.2 or

  1. 条件1 or 条件2
  • 或者
  • 两个条件只要有一个满足,返回 True
  • 两个条件都不满足,返回 False
条件 1 条件 2 结果
成立 成立 成立
成立 不成立 成立
不成立 成立 成立
不成立 不成立 不成立

3.3 not

  1. not 条件
  • 不是
条件 结果
成立 不成立
不成立 成立

逻辑运算演练

  1. 练习1: 定义一个整数变量 age,编写代码判断年龄是否正确

    • 要求人的年龄在 0-120 之间
  2. 练习2: 定义两个整数变量 python_scorec_score,编写代码判断成绩
    • 要求只要有一门成绩 > 60 分就算合格
  3. 练习3: 定义一个布尔型变量 is_employee,编写代码判断是否是本公司员工
    • 如果不是提示不允许入内

答案 1:

  1. # 练习1: 定义一个整数变量 age,编写代码判断年龄是否正确
  2. age = 100
  3. # 要求人的年龄在 0-120 之间
  4. if age >= 0 and age <= 120:
  5. print("年龄正确")
  6. else:
  7. print("年龄不正确")

答案 2:

  1. # 练习2: 定义两个整数变量 python_score、c_score,编写代码判断成绩
  2. python_score = 50
  3. c_score = 50
  4. # 要求只要有一门成绩 > 60 分就算合格
  5. if python_score > 60 or c_score > 60:
  6. print("考试通过")
  7. else:
  8. print("再接再厉!")

答案 3:

  1. # 练习3: 定义一个布尔型变量 `is_employee`,编写代码判断是否是本公司员工
  2. is_employee = True
  3. # 如果不是提示不允许入内
  4. if not is_employee:
  5. print("非公勿内")

04. if 语句进阶

4.1 elif

  • 在开发中,使用 if 可以 判断条件
  • 使用 else 可以处理 条件不成立 的情况
  • 但是,如果希望 再增加一些条件条件不同,需要执行的代码也不同 时,就可以使用 elif
  • 语法格式如下:
  1. if 条件1:
  2. 条件1满足执行的代码
  3. ……
  4. elif 条件2:
  5. 条件2满足时,执行的代码
  6. ……
  7. elif 条件3:
  8. 条件3满足时,执行的代码
  9. ……
  10. else:
  11. 以上条件都不满足时,执行的代码
  12. ……
  • 对比逻辑运算符的代码
  1. if 条件1 and 条件2:
  2. 条件1满足 并且 条件2满足 执行的代码
  3. ……

注意

  1. elifelse 都必须和 if 联合使用,而不能单独使用
  2. 可以将 ifelifelse 以及各自缩进的代码,看成一个 完整的代码块

elif 演练 —— 女友的节日

需求

  1. 定义 holiday_name 字符串变量记录节日名称
  2. 如果是 情人节 应该 买玫瑰看电影
  3. 如果是 平安夜 应该 买苹果吃大餐
  4. 如果是 生日 应该 买蛋糕
  5. 其他的日子每天都是节日啊……
  1. holiday_name = "平安夜"
  2. if holiday_name == "情人节":
  3. print("买玫瑰")
  4. print("看电影")
  5. elif holiday_name == "平安夜":
  6. print("买苹果")
  7. print("吃大餐")
  8. elif holiday_name == "生日":
  9. print("买蛋糕")
  10. else:
  11. print("每天都是节日啊……")

4.2 if 的嵌套

elif 的应用场景是:同时 判断 多个条件,所有的条件是 平级

  • 在开发中,使用 if 进行条件判断,如果希望 在条件成立的执行语句中增加条件判断,就可以使用 if 的嵌套
  • if 的嵌套 的应用场景就是:在之前条件满足的前提下,再增加额外的判断
  • if 的嵌套 的语法格式,除了缩进之外 和之前的没有区别
  • 语法格式如下:
  1. if 条件 1:
  2. 条件 1 满足执行的代码
  3. ……
  4. if 条件 1 基础上的条件 2:
  5. 条件 2 满足时,执行的代码
  6. ……
  7. # 条件 2 不满足的处理
  8. else:
  9. 条件 2 不满足时,执行的代码
  10. # 条件 1 不满足的处理
  11. else:
  12. 条件1 不满足时,执行的代码
  13. ……

if 的嵌套 演练 —— 火车站安检

需求

  1. 定义布尔型变量 has_ticket 表示是否有车票
  2. 定义整型变量 knife_length 表示刀的长度,单位:厘米
  3. 首先检查是否有车票,如果有,才允许进行 安检
  4. 安检时,需要检查刀的长度,判断是否超过 20 厘米
    • 如果超过 20 厘米,提示刀的长度,不允许上车
    • 如果不超过 20 厘米,安检通过
  5. 如果没有车票,不允许进门
  1. # 定义布尔型变量 has_ticket 表示是否有车票
  2. has_ticket = True
  3. # 定义整数型变量 knife_length 表示刀的长度,单位:厘米
  4. knife_length = 20
  5. # 首先检查是否有车票,如果有,才允许进行 安检
  6. if has_ticket:
  7. print("有车票,可以开始安检...")
  8. # 安检时,需要检查刀的长度,判断是否超过 20 厘米
  9. # 如果超过 20 厘米,提示刀的长度,不允许上车
  10. if knife_length >= 20:
  11. print("不允许携带 %d 厘米长的刀上车" % knife_length)
  12. # 如果不超过 20 厘米,安检通过
  13. else:
  14. print("安检通过,祝您旅途愉快……")
  15. # 如果没有车票,不允许进门
  16. else:
  17. print("大哥,您要先买票啊")

05. 综合应用 —— 石头剪刀布

目标

  1. 强化 多个条件逻辑运算
  2. 体会 import 导入模块(“工具包”)的使用

需求

  1. 从控制台输入要出的拳 —— 石头(1)/剪刀(2)/布(3)
  2. 电脑 随机 出拳 —— 先假定电脑只会出石头,完成整体代码功能
  3. 比较胜负
序号 规则
1 石头 胜 剪刀
2 剪刀 胜 布
3 布 胜 石头

5.1 基础代码实现

  • 假定电脑就只会出石头,完成整体代码功能
  1. # 从控制台输入要出的拳 —— 石头(1)/剪刀(2)/布(3)
  2. player = int(input("请出拳 石头(1)/剪刀(2)/布(3):"))
  3. # 电脑 随机 出拳 - 假定电脑永远出石头
  4. computer = 1
  5. # 比较胜负
  6. # 如果条件判断的内容太长,可以在最外侧的条件增加一对大括号
  7. # 再在每一个条件之间,使用回车,PyCharm 可以自动增加 8 个空格
  8. if ((player == 1 and computer == 2) or
  9. (player == 2 and computer == 3) or
  10. (player == 3 and computer == 1)):
  11. print("噢耶!!!电脑弱爆了!!!")
  12. elif player == computer:
  13. print("心有灵犀,再来一盘!")
  14. else:
  15. print("不行,我要和你决战到天亮!")

5.2 随机数的处理

  • Python 中,要使用随机数,首先需要导入 随机数模块 —— “工具包”
  1. import random
  • 导入模块后,可以直接在 模块名称 后面敲一个 . 然后按 Tab 键,会提示该模块中包含的所有函数

  • random.randint(a, b) ,返回 [a, b] 之间的整数,包含 ab

  • 例如:

  1. random.randint(12, 20) # 生成的随机数n: 12 <= n <= 20
  2. random.randint(20, 20) # 结果永远是 20
  3. random.randint(20, 10) # 该语句是错误的,下限必须小于上限

python笔记:#009#判断语句的更多相关文章

  1. python基础 数据类型 判断语句

    python 类unix系统默认已经安装或使用源码包./confighuremakemake install python运行方法 通过交互式解释器 [root@room1pc01 ~]# pytho ...

  2. Python的条件判断语句------if/else语句

    计算机之所以能做很多自动化的任务,因为它可以自己做条件判断. 比如,输入用户的年龄,根据年龄打印不同的内容... Python程序中,能让计算机自己作出判断的语句就是if语句: 例: age = 25 ...

  3. 一文了解Python中的判断语句

    判断(if)语句 目标 开发中的应用场景 if 语句体验 if 语句进阶 综合应用 01. 开发中的应用场景 生活中的判断几乎是无所不在的,我们每天都在做各种各样的选择,如果这样?如果那样?…… 程序 ...

  4. python基础-分支判断语句(4)

    1.分支判断语句 1.单一if结构 2.if-else结构 3.if-elif-else结构 4.if嵌套结构 2.单一if结构 只有一种情况的时候 if 条件: 执行语句 说明: if后面的条件成立 ...

  5. 01.Python基础-2.判断语句和循环语句

    1判断语句 1.1判断语句介绍 满足条件才能做某件事 1.2 if语句 if 条件: 语句块 在if判断条件的时候 False:False, 0, '', None, [] True :基本除上面之外 ...

  6. python中的判断语句与循环语句

    if语句 每条if语句的核心都是一个值为Ture或False的表达式,这种表达式被称为为条件测试.if语句检查程序当前状态,并据此采取相应的措施.如果条件测试的值为Ture,Python就执行紧跟在i ...

  7. python if条件判断语句

    if的基本格式 if语句用来做判断,并选择要执行的语句分支.基本格式如下: if CONDITION1: code_block(1) elif CONDITION2: code_block(2) el ...

  8. 第一篇:python中的判断语句和循环

    python与C语言的代码格式区别: 需注意:1.python中语句结束没有分号 “;” 2.python中严格要求缩进,且在判断和循环等语句中把括号用冒号代替. 3.经常使用tab键进行缩进. 4. ...

  9. Python基础总结之第五天开始【认识简单的条件语句,也可以叫判断语句】(新手可相互督促)

    周五更新很累... 坚持,年薪20万又进了一步~~ python中的条件语句以[ if ]开头,条件语句成立时,运行该代码块,如果条件不成立,则跳过该代码块,执行后面的代码块. 简单的小示例: 输入性 ...

随机推荐

  1. java判断字符串是否回文

    java判断字符串是否回文 /** * java判断字符串是否回文<br><br> * 基本思想是利用字符串首尾对应位置相比较 * * @author InJavaWeTrus ...

  2. 存储那些事儿(一):异构虚拟化一种实现SMIS

    1. 背景 企业存储是企业信息系统管理很重要的组成部分.企业存储包含了大量的数据,供大量人使用.对于航空系统和金融系统来说,信息存储就更加重要了. 作为企业信息存储,扩展性是非常重要的,因为现在企业对 ...

  3. 【一天一道LeetCode】#42. Trapping Rain Water

    一天一道LeetCode系列 (一)题目 Given n non-negative integers representing an elevation map where the width of ...

  4. Mahout kmeans聚类

    Mahout  K-means聚类 一.Kmeans 聚类原理 K-means算法是最为经典的基于划分的聚类方法,是十大经典数据挖掘算法之一.K-means算法的基本思想是:以空间中k个点为中心进行聚 ...

  5. 怎样写一个与Win8 IE11兼容的标准BHO?

    怎样写一个与Win8 IE11兼容的标准BHO? 环境:Windows8.1 x86 IE11(其它环境未讨论) 作者:magictong 日期:2014/02/02 概述 微软在2013年6月份推出 ...

  6. ROS_RGB-D SLAM学习笔记--室内环境测试

    ROS_RGB-D SLAM学习笔记 RTAB-Map's ros-pkg. RTAB-Map is a RGB-D SLAM approach with real-time constraints. ...

  7. STL的容器算法迭代器的设计理念

    1) STL的容器通过类模板技术,实现数据类型和容器模型的分离. 2) STL的迭代器技术实现了遍历容器的统一方法:也为STL的算法提供了统一性. 3) STL的函数对象实现了自定义数据类型的算法运算 ...

  8. Dynamics CRM ISV文件夹禁用后的解决方案

    众所周知微软在CRM2011的12补丁后取消了对ISV文件夹的支持,那我们自定义开发的一些web应用或者是想部署个服务该怎么办,有的选择了另开一个站点发布.我们以服务为例这样的另开站点的发布方式会导致 ...

  9. saiku 网站简介

    Saiku web:http://docs.analytical-labs.com/saiku/documentation/2013/08/15/datasources.html Click &quo ...

  10. netstat 的10个基本用法(转)

    本文转载自一译作. *注:netstat即network state缩写. Netstat 简介 Netstat 是一款命令行工具,可用于列出系统上所有的网络套接字连接情况,包括 tcp, udp 以 ...