0303python中的if进阶语句

0303python中的if进阶语句,第1张

1.1 逻辑运算
  • 在程序开发中,通常 在判断条件时,会需要同时判断多个条件
  • 只有多个条件都满足,才能够执行后续代码,这个时候需要使用到 逻辑运算符
  • 逻辑运算符可以把多个条件按照 逻辑 进行连接,变成 更复杂的条件
  • python 中的逻辑运算符 包括:与 and/或 or/非 not 三种
1. and
条件1 and 条件2
  • 与/并且
  • 两个条件同时满足,返回 True
  • 只要有一个不满足,就返回 False
条件 1条件 2结果
成立成立成立
成立不成立不成立
不成立成立不成立
不成立不成立不成立
2. or
条件1 or 条件2
  • 或/或者
  • 两个条件只要有一个满足,返回 True
  • 两个条件都不满足,返回 False
条件 1条件 2结果
成立成立成立
成立不成立成立
不成立成立成立
不成立不成立不成立
3.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满足 执行的代码
    ……

注意

  1. elifelse 都必须和 if 联合使用,而不能单独使用
  2. 可以将 ifelifelse 以及各自缩进的代码,看成一个 完整的代码块
elif 演练 —— 小侯在看什么书

需求

  1. 定义 read_book 字符串变量记录节日名称
  2. 如果是有顶天家族应该去B站看番
  3. 如果是梦的宇宙志应该写读后感
  4. 如果是黑魔法手帖应该去多看书评
  5. 每天都要好好读书鸭
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 的嵌套 演练 —— 小侯一天的安排

需求

  1. 定义布尔型变量 eat_breakfast 表示是否吃早饭了
  2. 定义浮点型变量 study_hour 表示学习的时间,单位:小时
  3. 首先判断是否吃早饭了,如果吃了,才允许进行学习
  4. 学习时,需要判断学习时间是否超过6小时
    • 如果未超过6小时,提示要继续学习
    • 如果超过6小时,可以去玩耍
  5. 如果没有吃早饭,请先去吃饭
# 定义布尔型变量 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 **

    1. 选中要缩进的多行,再按下tab键就可以使多行同时缩进4个空格;如果缩进多了:先选中多行,同时按下shift+tab就可以向左移动4个空格。


    1. 当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("小侯是最棒哒")
    1. 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] 之间的整数,包含 ab

  • 例如:

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

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/570809.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-09
下一篇 2022-04-09

发表评论

登录后才能评论

评论列表(0条)

保存