- 在程序开发中,通常 在判断条件时,会需要同时判断多个条件
- 只有多个条件都满足,才能够执行后续代码,这个时候需要使用到 逻辑运算符
- 逻辑运算符可以把多个条件按照 逻辑 进行连接,变成 更复杂的条件
- python 中的逻辑运算符 包括:与 and/或 or/非 not 三种
and
条件1 and 条件2
- 与/并且
- 两个条件同时满足,返回
True
- 只要有一个不满足,就返回
False
条件 1 | 条件 2 | 结果 |
---|---|---|
成立 | 成立 | 成立 |
成立 | 不成立 | 不成立 |
不成立 | 成立 | 不成立 |
不成立 | 不成立 | 不成立 |
or
条件1 or 条件2
- 或/或者
- 两个条件只要有一个满足,返回
True
- 两个条件都不满足,返回
False
条件 1 | 条件 2 | 结果 |
---|---|---|
成立 | 成立 | 成立 |
成立 | 不成立 | 成立 |
不成立 | 成立 | 成立 |
不成立 | 不成立 | 不成立 |
not
not 条件
- 非/不是
条件 | 结果 |
---|---|
成立 | 不成立 |
不成立 | 成立 |
# 练习1: 定义一个整数变量study_hour,编写代码判断年龄是否正确
study_hour = 6.5
# 要求学习时间在 6-10之间
if study_hour >= 6 and study_hour <= 10:
print("可以出去玩啦")
else:
print("请继续学习")
# 练习2: 定义两个整数变量 study_hour、play_hour,编写代码判断小侯今天任务合不合格
study_hour = 5
play_hour = 50
# 要求学习时间超过6个小时或者玩耍时间少于3个小时就算合格
if study_hour >= 6 or play_hour <= 3:
print("小侯今天真棒鸭")
else:
print("小侯明天要努力辣")
# 练习3: 定义一个布尔型变量 `is_h`,编写代码判断是否是小侯
is_h = True
# 如果不是提示你不是小侯,如果是提示小侯是最棒哒
if not is_h:
print("你不是小侯")
else
print("小侯是最棒哒")
1.2 elif
- 在开发中,使用
if
可以 判断条件 - 使用
else
可以处理 条件不成立 的情况 - 但是,如果希望 **再增加一些条件,条件不同,需要执行的代码也不同时,就可以使用
elif
- 语法格式如下:
if 条件1:
条件1满足执行的代码
……
elif 条件2:
条件2满足时,执行的代码
……
elif 条件3:
条件3满足时,执行的代码
……
else:
以上条件都不满足时,执行的代码
……
- 对比逻辑运算符的代码
if 条件1 and 条件2:
条件1满足 并且 条件2满足 执行的代码
……
注意
elif
和else
都必须和if
联合使用,而不能单独使用- 可以将
if
、elif
和else
以及各自缩进的代码,看成一个 完整的代码块
需求
- 定义
read_book
字符串变量记录节日名称 - 如果是有顶天家族应该去B站看番
- 如果是梦的宇宙志应该写读后感
- 如果是黑魔法手帖应该去多看书评
- 每天都要好好读书鸭
read_book= "黑魔法手帖"
if read_book == "有顶天家族":
print("去B站看番")
elif read_book == "梦的宇宙志":
print("写读后感")
elif read_book == "黑魔法手帖":
print("去多看书评")
else:
print("每天都要好好读书鸭")
1.3 if
的嵌套
elif 的应用场景是:同时判断多个条件,所有的条件是平级的
- 在开发中,使用
if
进行条件判断,如果希望在条件成立的执行语句中再增加条件判断,就可以使用if 的嵌套 - if 的嵌套的应用场景就是:在之前条件满足的前提下,再增加额外的判断
- if 的嵌套的语法格式,除了缩进之外和之前的没有区别
- 语法格式如下:
if 条件 1:
条件 1 满足执行的代码
……
#仍不要忘记冒号
if 条件 1 基础上的条件 2:
条件 2 满足时,执行的代码
……
# 条件 2 不满足的处理
else:
条件 2 不满足时,执行的代码
# 条件 1 不满足的处理
else:
条件1 不满足时,执行的代码
……
if 的嵌套 演练 —— 小侯一天的安排
需求
- 定义布尔型变量
eat_breakfast
表示是否吃早饭了 - 定义浮点型变量
study_hour
表示学习的时间,单位:小时 - 首先判断是否吃早饭了,如果吃了,才允许进行学习
- 学习时,需要判断学习时间是否超过6小时
- 如果未超过6小时,提示要继续学习
- 如果超过6小时,可以去玩耍
- 如果没有吃早饭,请先去吃饭
# 定义布尔型变量 eat_breakfast表示是否吃早饭了
eat_breakfast = True
# 定义浮点型变量 study_hour 表示学习的时间,单位:小时
study_hour = 7.0
# 首先检查是否吃早饭了,如果吃了,才允许好好学习
if eat_breakfast:
print("吃早饭了,请好好学习")
# 学习时,需要判断学习时间是否超过6小时
# 如果未超过6小时,提示要继续学习
if study_hour < 6:
print("学习时间只有 %.2f 小时,请继续好好学习" % study_hour)
# 如果超过 6个小时,可以去玩耍
else:
print("可以去玩耍辣")
# 如果吃早饭,不允许学习
else:
print("小侯同学请先去吃饭")
** 注意小tips **
- 选中要缩进的多行,再按下tab键就可以使多行同时缩进4个空格;如果缩进多了:先选中多行,同时按下shift+tab就可以向左移动4个空格。
- 当if里面有多个复合条件,就需要把每个条件加上括号
if (study_hour >= 6 and study_hour <= 10) or (play_hour <=3) or (eat_breakfast = True)
#如果条件太多都放一行阅读起来不方便
#可以在if后面给所有条件加一对括号,让换行后的条件增加8个空格的缩进更方便阅读
#同时也为了区分if语句后面的代码
if ((study_hour >= 6 and study_hour <= 10)
or (play_hour <=3)
or (eat_breakfast = True))
print("小侯是最棒哒")
- shift+F10运行代码
# 如果条件判断的内容太长,可以在最外侧的条件增加一对大括号
# 再在每一个条件之间,使用回车,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("不行,我要和你决战到天亮!")
1.4 随机数的处理
- 在
ipython
中,要使用随机整数数,首先需要导入随机数的模块 —— “工具包”
$ipython
In [1]: import random
In [2]: random.
In [3]: random. randint(1,10)
Out[1] : 2
In [4]: random. randint(1,10)
Out[2] : 8
In [5]: type(random. randint(1,10))
Out[3]: int
pythoncharm
#在导入工具包的时候,应该将导入的语句,放在文件的顶部
#因为这样可以方便下方的代码在任何需要的时候,使用工具包中的工具
import random
study_hour = random.randint(1,10)
-
导入模块后,可以直接在 模块名称后面敲一个
.
然后按Tab
键,会提示该模块中包含的所有函数 -
random.randint(a, b)
,返回[a, b]
之间的整数,包含a
和b
-
例如:
random.randint(1, 2) # 生成的随机数n: 1 <= n <= 2
random.randint(2, 2) # 结果永远是 2
random.randint(2, 1) # 该语句是错误的,下限必须小于上限
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)