条件语句运算符
循环语句
条件语句
01.开发中的应⽤场景条件语句在开发中主要⽤于进⾏ 逻辑判断⽣活中的判断⼏乎是⽆所不在的,我们每天都在做各种各样的选择,如果这样?如果那样?……
02.if 语句体验 2.1if 判断语句基本语法在 Python 中,if 语句 就是⽤来进⾏条件判断的,格式如下:
if 要判断的条件:条件成⽴时,要做的事情……
代码的缩进为⼀个 tab 键,或者 4 个空格
2.2判断语句演练 ——
判断年龄需求
1.定义⼀个整数变量记录年龄
2.判断是否满 18 岁 (>=)
3.如果满 18 岁,允许进⽹吧嗨⽪
# 1. 定义年龄变量
age = 18
# 2. 判断是否满 18 岁if age >= 18:
print("可以进⽹吧嗨⽪……")
# 3. 思考!- ⽆论条件是否满⾜都会执⾏print("这句代码什么时候执⾏?")
2.3else 处理条件不满⾜的情况思考在使⽤ if 判断时,只能做到满⾜条件时要做的事情。那如果需要在 不满⾜条件的时候,做某些事情,该如何做呢?
答案 else ,格式如下:
if 要判断的条件:条件成⽴时,要做的事情…… else:条件不成⽴时,要做的事情……
2.1 判断语句演练 —— 判断年龄改进需求
1. 输⼊⽤户年龄
2. 判断是否满 18 岁 (>=)
3. 如果满 18 岁,允许进⽹吧嗨⽪
4. 如果未满 18 岁,提示回家写作业
# 1. 输⼊⽤户年龄age = int(input("今年多⼤了?"))
# 2. 判断是否满 18 岁
if age >= 18:print("可以进⽹吧嗨⽪……") else:print("你还没⻓⼤,应该回家写作业!")
# 3. 思考!- ⽆论条件是否满⾜都会执⾏print("这句代码什么时候执⾏?")
注意:将数字型数据直接作为判断条件时,⾮0数即为True, 0为False
um = int(input("请输⼊数字:")) if num:print("数字⾮0") else:print("数字为0")
03.逻辑运算在程序开发中,执⾏结果 可能和 多个条件有关⽐如 多个条件都成⽴才能执⾏,或者有⼀个条件成⽴就可以执⾏,这时就需要使⽤ 逻辑运算符逻辑运算符 可以把 多个条件 按照 逻辑 进⾏ 连接,变成 更复杂的条件Python 中的 逻辑运算符 包括:与 and/或 or/⾮not 三种
3.1 and
条件1 and 条件2
与/并且两个条件同时满⾜,返回 True只要有⼀个不满⾜,就返回 False
条件 1 条件 2 结果成⽴ 成⽴ 成⽴成⽴ 不成⽴ 不成⽴
3.2 or
条件1 or 条件2
或/或者两个条件只要有⼀个满⾜,返回 True两个条件都不满⾜,返回 False
条件 1 条件 2 结果 成⽴ 成⽴ 成⽴ 成⽴ 不成⽴ 成⽴ 不成⽴ 成⽴ 成⽴ 不成⽴ 不成⽴ 不成⽴
3.3 not
not 条件
⾮/不是 条件 结果成⽴ 不成⽴不成⽴ 成⽴
逻辑运算演练
1.练习1: 定义⼀个整数变量 age ,编写代码判断年龄是否正确要求⼈的年龄在 0-120 之间2.练习2: 定义两个整数变量 python_score 、 c_score ,编写代码判断成绩要求只要有⼀⻔成绩 > 60 分就算合格3.练习3: 定义⼀个布尔型变量 is_employee ,编写代码判断是否是本公司员⼯如果不是提示不允许⼊内
答案 1:
# 练习1: 定义⼀个整数变量 age,编写代码判断年龄是否正确age = 100 # 要求⼈的年龄在 0-120 之间if age >= 0 and age <= 120:print("年龄正确") else:print("年龄不正确")
答案 2:
# 练习2: 定义两个整数变量 python_score、c_score,编写代码判断成绩python_score = 50c_score = 50 # 要求只要有⼀⻔成绩 > 60 分就算合格if python_score > 60 or c_score > 60:print("考试通过") else:print("再接再厉!")
答案 3:
# 练习3: 定义⼀个布尔型变量 `is_employee`,编写代码判断是否是本公司员⼯is_employee = True # 如果不是提示不允许⼊内if not is_employee:
print("⾮公勿内")
04.if进阶4.1 elif ⼀对 if 和 else 可以让代码执⾏出 两种不同的结果但开发中,可能希望 并列的执⾏出多种结果,这时就可以使⽤ elif语法格式如下:
if 条件1:条件1满⾜执⾏的代码……elif 条件2:条件2满⾜时,执⾏的代码……elif 条件3:条件3满⾜时,执⾏的代码…… else:以上条件都不满⾜时,执⾏的代码……
elif 演练 —— ⼥友的节⽇需求1.定义 holiday_name 字符串变量记录节⽇名称2.如果是 情⼈节 应该 买玫瑰/看电影3.如果是 平安夜 应该 买苹果/吃⼤餐4.如果是 ⽣⽇ 应该 买蛋糕5.其他的⽇⼦每天都是节⽇啊……
holiday_name = "平安夜"
if holiday_name == "情⼈节":print("买玫瑰")print("看电影")elif holiday_name == "平安夜":print("买苹果")print("吃⼤餐")elif holiday_name == "⽣⽇":print("买蛋糕") else:print("每天都是节⽇啊……")
注意1. elif 和 else 都必须和 if 联合使⽤,⽽不能单独使⽤2.elif 强调的是 并列的多种结果,⽽ 逻辑运算符 强调的是 与某个结果有关的 多个条件
4.2 if 的 嵌 套
在开发中,使⽤ if 进⾏条件判断,如果希望 在条件成⽴的执⾏语句中 再 增加条件判断,就可以使⽤ if 的嵌套if 的嵌套 的应⽤场景就是:在之前条件满⾜的前提下,再增加额外的判断if 的嵌套 的语法格式,除了缩进之外 和之前的没有区别语法格式如下:
if 条件 1:条件 1 满⾜执⾏的代码…… if 条件 1 基础上的条件
2:条件 2 满⾜时,执⾏的代码…… # 条件 2 不满⾜的处理else:条件 2 不满⾜时,执⾏的代码 # 条件 1 不满⾜的处理else:条件1 不满⾜时,执⾏的代码……
if 的嵌套 演练 —— ⽕⻋站安检需求1.定义布尔型变量 has_ticket 表示是否有⻋票2.定义整型变量 knife_length 表示⼑的⻓度,单位:厘⽶
3.⾸先检查是否有⻋票,如果有,才允许进⾏ 安检
4.安检时,需要检查⼑的⻓度,判断是否超过 20 厘⽶如果超过 20 厘⽶,提示⼑的⻓度,不允许上⻋ 如果不超过 20 厘⽶,安检通过5.如果没有⻋票,不允许进⻔
# 定义布尔型变量 has_ticket 表示是否有⻋票has_ticket = True # 定义整数型变量 knife_length 表示⼑的⻓度,单位:厘⽶knife_length = 20 # ⾸先检查是否有⻋票,如果有,才允许进⾏ 安检if has_ticket:print("有⻋票,可以开始安检...") # 安检时,需要检查⼑的⻓度,判断是否超过 20 厘⽶# 如果超过 20 厘⽶,提示⼑的⻓度,不允许上⻋if knife_length >= 20:print("不允许携带 %d 厘⽶⻓的⼑上⻋" % knife_length)# 如果不超过 20 厘⽶,安检通过else:print("安检通过,祝您旅途愉快……") # 如果没有⻋票,不允许进⻔else:print("⼤哥,您要先买票啊")
05.综合应⽤—— ⽯头剪⼑布⽬标
1.强化 多个条件 的 逻辑运算
2.体会 import 导⼊模块(“⼯具包”)的使⽤需求1.从控制台输⼊要出的拳 —— ⽯头(1)/剪⼑(2)/布(3)
2.电脑 随机 出拳 —— 先假定电脑只会出⽯头,完成整体代码功能3.⽐较胜负 序号 规则1 ⽯头 胜 剪⼑2 剪⼑ 胜 布3 布 胜 ⽯头 5.1基础代码实现先 假定电脑就只会出⽯头,完成整体代码功能
# 从控制台输⼊要出的拳 —— ⽯头(1)/剪⼑(2)/布(3)player = int(input("请出拳 ⽯头(1)/剪⼑(2)/布(3):")) # 电脑 随机 出拳 - 假定电脑永远出⽯头computer = 1 # ⽐较胜负# 如果条件判断的内容太⻓,可以在最外侧的条件增加⼀对⼤括号# 再在每⼀个条件之间,使⽤回⻋,PyCharm 可以⾃动增加 8 个空格if ((player == 1 and computer == 2) or (player == 2 and computer == 3) or
(player == 3 and computer == 1)): print("噢耶!!!电脑弱爆了!!!") elif player == computer:print("⼼有灵犀,再来⼀盘!") else:print("不⾏,我要和你决战到天亮!")
5.2随机数的处理在 Python 中,要使⽤随机数,⾸先需要导⼊ 随机数 的 模块 —— “⼯具包”
import random
导⼊模块后,可以直接在 模块名称 后⾯敲⼀个 . 然后按 Tab 键,会提示该模块中包含的所有函数 random.randint(a, b) ,返回 [a, b] 之间的整数,包含 a 和 b 例如:
random.randint(12, 20) # ⽣成的随机数n: 12 <= n <= 20random.randint(20, 20) # 结 果 永 远 是 20
random.randint(20, 10) # 该语句是错误的,下限必须⼩于上限