day2_运算符与if语句

本文详细介绍了Python中的数学运算符,包括加、减、乘、除、取余、整除和幂运算,并给出了相关应用示例。接着讲解了比较运算符和逻辑运算符,如等于、不等于、大于、小于、逻辑与、逻辑或和逻辑非,以及短路操作。此外,还阐述了赋值运算符的用法。文章最后通过实例展示了如何使用if语句实现条件分支结构,用于判断年龄、数字属性等。
摘要由CSDN通过智能技术生成

总结

数学运算符

  • 运算符

    • 在Python中常用的运算符: 数学运算符,比较运算符,逻辑运算符,赋值运算符

      • 数学运算符: +(加),-(减),*(乘),/(除),%(取余,取模),//(整除),**(幂运算)

          1. +.-../ - 和数学中的+.-./. 的功能一样
          1. % - 求余数
          • x % y - 求x除以y的余数

          • 应用1 : 判断一个数是否能被另外一个数整除

          • print(5 % 2)
            print(9 % 3)
            
          • 应用2 : 去一个数的低位数

          • num = 232
            print(num % 10)   #2
            print(num % 100)  #32
            
            
          1. // - 整数 (求商,商向下取整)
          • print(9.3 // 3)     # 3.0
            print(-5 // 2)      # -3 (-2,-2.5,-3)(向小取整)
            
          • 应用1: 去掉低位数保留高位数

          • num = 23448
            print(num // 10)  # 2344
            print(num // 100)   #234
            
          1. ** - 幂运算
          • x ** y - 求x的y次方

            print(2 ** 3)   # 8
            print(9 ** 2)   # 81
            print(81 ** 0.5)    # 9.0 (81开2次方
            print(8 ** (1/3))   # 2.0 (8开3次方
            
    • 比较运算符: ==(等于)、!=(不等于)、>(大于)、<(小于)、>=(大于等于)、<=(小于等于)

      所有的比较运算符的运算结果都是布尔

      Python中的比较运算符支持表示范围的连写方式 (别的语言不支持)

    • 逻辑运算符: and(逻辑与运算)、or(逻辑或运算)、not(逻辑非运算)

      • and:全真才是真,有假就是假。
        or:有真就是真,全假才是假。
        not:假就是真,真就是假。

        1. and - 逻辑与运算
          1. 应用场景:要求多个条件同时满足的时候就将多个条件用and链接,相当于生活中的并且。
        • 2)运算符规则:两个都是True结果才是True,否则结果为False。

          True and True - True
          True and False - False
          False and True - False
          False and False - False

        1. or - 逻辑或运算
        • 1)应用场景:多个条件中,只要有一个条件满足的时候就使用or将多个条件连接在一起,相当于生活中的或者
          1. 运算规则:两个都是False结果才是False,只要有一个是True,结果就是True.

          True and True - True
          True and False - True
          False and True - True
          False and False - False

        1. not - 逻辑非运算
        • 应用场景: 对某一个场景进行否定

        • 运算规则:

        not True -> False
        not False -> True

  • 扩展
      1. 短路操作
      • 逻辑与的短路操作: 表达式1 and 表达式2 中,如果表达式1的结果是False,那么表达式2的代码不执行
      • 逻辑或的短路操作: 表达式1 or 表达式2 中,如果表达式1的结果是True,那么表达式2的代码不执行
      1. 运算对象不是布尔值
      • 与运算:表达式1 and 表达式2 - 如果表达式1的布尔值是True,整个与运算的结果是表达式2;
        如果表达式1的布尔值是False,整个与运算的结果是表达式1

      • 或运算:表达式1 and 表达式2 - 如果表达式1的布尔值是False,整个与运算的结果是表达式2;
        如果表达式1的布尔值是True,整个与运算的结果是表达式1

      • not表达式:

        print(7 and 8)  # 8
        print(7 or 8)   # 7
        print(not 10)   # False
        print(not None)  # True
        
      1. 补充: 数据的布尔值(非常重要)
      • Python中左右的数据都有布尔值,所有的零值和空值对应的布尔值是False,其他的都是True
      • 零值和空值: 0 , 0.0 , 0.00 , ‘’ , “” ,
  • 赋值运算符: = , += , -= , /= , %= , //= , **=

      1. 所有的赋值运算都是用来给变量赋值,没有计算结果.(所有的赋值运算都没有结果)
      1. 所有赋值运算符的左边都必须是变量 ( 89 = 89 # 错误 )
      • 1.) =

        • 变量 = 数据 (将数据保存到变量中)

        •   a = 10
            # print(a = 10)   # 报错
          

        2.) += , -= , /= , %= , //= , **=

        • 变量 += 数据 (先将变量重罚保存的数据取出来,和右边的数据进行运算,将计算结果重新赋值给变量)

          • 注意: 此处的变量必须先赋值

          •   # b += 3    -  # 错误(b没有赋值)
                  
              b = 5
              b += 3
              print(b)    # 8
              b /= 2
              print(b)	# 4.0
              b **= 3
              print(b)	# 64.0
              
            
        • 运算符的优先级

            1. 数学运算符 > 比较运算符 > 逻辑运算符 > 赋值运算符(最低优先级)
            1. ** > *, / , % , // > + , -
            1. 有括号先算括号里面的
          •   a = (10 + 20 )* 3 > 5 and 7 - 8 > 9
            
  • if语句分支结构

      1. 流程控制
      1. 顺序结构(默认) - 代码从上往下一条一条的执行,没调代码只会执行一次
      2. 分支结构 - 根据条件去执行或者不执行某些代码
      3. 循环结构 - 让代码重复执行
      1. 分支结构 - if语句
      • 1). if单分支结构 - 满足条件执行某个操作,条件不满嘴的时候对应的操作不执行

        '''
        语法:
        if 条件语句:
            代码段
        '''
        
      • 说明:

        • if - 关键字,固定写法

        • 条件语句 - 任何有结果的表达式,(除了赋值语句意外的表达式),比如:数据 ,已经赋值过的变量 , 运算表达式,函数调用表达式

        • : - 固定写法(注意输入法)

        • 代码段 - 和if保持一个缩进的一条或者多条语句,(满足条件才会执行的代码)

        • 执行过程 - 先判断条件语句的结果是否为True,如果是True就执行代码段,否则代码段不执行

        •   age = 19
            if age >= 18:
                print('可以进网吧')
          
        1. if双分支结构 - 满足条件执行某个操作,条件不满足的时候执行另一个操作
        •   '''
            语法:
            if 条件语句:
                代码段1 (条件满足时要执行的代码)
            else:
                代码段2 (条件不满足时要执行的代码)
            '''
          
          #  如果指定的数字是奇数,就打印奇数.否则打印偶数
          num = 5
          if num % 2 == 0:
              print('偶数')
          else:
              print('奇数')
          
        1. if多分支结构 - 根据不同的条件执行不同的操作,(条件之间满足:其中一个条件满足了,另外的条件绝对不会满足)
      •   '''
          语法:
          if 条件语句1:
              代码段1
          elif 条件语句2:
              代码段2
          elif 条件语句3:
              代码段3
          ...
          else:
              代码段N
          '''
        
      •   #  根据年领值的范围,打印人生阶段
          # 0~3 儿童    4~17 少年     18~28 青年    29~39 壮年    40~59 中年    60及以上 老年
          if 0 <= age <= 3:
              print('儿童')
          elif age <= 17:
              print('少年')
          elif age <= 28:
              print('青年')
          elif age <= 39:
              print('壮年')
          elif age <= 59:
              print('中年')
          else:
              print('老年')
          
        
      • (拓展)

        • 满足一个条件,另外一个条件也会满足的情况下,就多写几个if单分支结构

作业

选择题

1 B

2 A

3 B

4 A

5 C D

6 A

7 D

填空题

1 type()

2 True

3 9

4 9 6 2

编程题
  1. 写出判断一个数是否能同时被2和5整除的条件语句, 并且打印对应的结果。

    num = 50
    a = (num % 2 == 0)
    b = (num % 5 == 0)
    c = (num % 10 == 0)
    print(a and b)
    print(c)
    
  2. 写出判断一个数是否能够被2或者5整除,但是不能同时被2或者5整除的条件语句, 并且打印对应

    的结果。

    num = 50
    a = (num % 2 == 0)
    b = (num % 5 == 0)
    c = (num % 10 == 0)
    print((a or b) and c)
    
    
  3. 假设今天的上课时间为15678秒,编程计算今天上课时间是多少⼩时,多少分钟,多少秒;以‘XX

    时XX分XX秒’的⽅式表示出来。

    例如:100秒表示成 0140****秒

    time = 15678
    H = time // 3600
    M = (time - (H * 3600 )) // 60
    S = time - ((M * 60) + (H * 3600))
    print('用时', H, '小时', M, '分', S, ' 秒')
    
  4. 定义两个变量保存⼀个⼈的身⾼和体重,编程实现判断这个⼈的身材是否正常!

    公式: 体重(kg) / (身⾼(m)的平⽅值 ) 在18.5 ~ 24.9之间属于正常。

    输出格式: 是否正常:True/False

    kg = 70
    m = 1.8
    num = kg / m ** 2
    if 18.5 <= num <= 24.9:
        print('正常')
    else:
        print('不正常')
    
  5. 根据输⼊的成绩的范围打印 及格 或者 不及格

    score = 80
    if score >= 60:
        print('及格')
    else:
        print('不及格')
    
  6. 根据输⼊的年纪范围打印 成年 或者 未成年 ,如果年龄不在正常范围内(0~150)打印 这不是⼈! 。

    age = int(input('请输入年龄'))
    if age < 18:
        print('未成年')
    elif age < 150:
        print('成年')
    else :
        print('这不是人')
    
  7. 输⼊两个整数a和b,若a-b的结果为奇数,则输出该结果,否则输出提示信息 a-b的结果不是奇

    数 。

    a = int(input('输入数字1'))
    b = int(input('输入数字2'))
    if (a - b) % 2 == 1:
        print(a - b)
    else:
        print('a-b的结果不是奇数')
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值