Day2-运算符以及if分支结构

Day2-运算符以及if分支结构

Python中常用运算符:

  • 数学运算符
  • 比较运算符
  • 逻辑运算符
  • 赋值运算符
1.数学运算符
  • /
  • %
  • //
  • **
  1. +、-、*、/ —— 和数学中的算法一样
 print(3 + 1)
 print(3 - 1)
 print(3 * 1)
 print(3 / 1)
  1. % - 求余数
    x % y - 求x除以y的余数
print(7 % 3)

应用一:判断一个数是否能被另外一个数整除(奇偶性)

应用二:取一个数的低位数

num  =  237
print(num % 10)
print(num % 100)

// - 整除

print(5 / 2)    #2.5
print(5 // 2)    #2
print(9.9 / 3)   #3.3
print(9.9 // 3)     #3
print(-7 // 3 )     #-3

应用一:去掉低位数保留高位数

num = 8547
print(num // 10)   #854

4.** - 幂运算
x ** y - 求x的y次方

print(9 ** 2)
print(81 ** 2)
print(8 ** (1/3))
2. 比较运算符
  • ==

  • !=

  • ‘>’

  • <

  • ‘>’=

  • <=

:所有比较运算结果都是bool

print(10 == 10)
print(10 > 18)

pyhon中的比较运算符支持表示范围的连写(其他语言不支持)

x = 0.1
print(0 <= x <=1)
3. 逻辑运算符
  • and

  • or

  • not

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

    练习:写出一个数能同时被3和7整除的条件

    num = int(input())
    if num % 3 == 0  and  num % 7 == 0:
        print('能够整除')
    else:
        print('不能整除')
    
    print('是否能同时被3和7整除:',num % 3==0 and num % 7 ==0)
    
    1. or - 逻辑或运算
      • 应用场景:多个条件中只要有一个条件满足时 用or将多个条件连接在一起,相当于生活中的或者
      • 运算规则:两个都是False结果才是False

      练习:判断一个数是否能被3或者7整除

      num = input('请输入一个数:')
      while True:
          try:
              num = int(num)
              break
          except ValueError:
              print('数据错误,请重新输入数据:')
              num = input()
      if num % 3 == 0  or  num % 7 == 0:
          print('能够整除')
      else:
          print('不能整除')
      
    2. not - 逻辑非运算
      • 应用场景:对某一个条件进行否定
      • 运算规则:
        not True -> Fales
        not False -> True

      练习:判断一个数是否不能同时被3和7整除的条件

    num = int(input())
    print( not (num % 3 ==0 and num % 7 ==0))
    练习:判断一个数是否是偶数python
    num=int(input())
    print(num % 2 ==0)
    练习:判断一个数是否能被3整除,并且个数是1python
    num = int(input())
    print(num % 3 ==0 and num % 10)
    练习:判断一个数的个位数加上十位数的和是否是偶数python
    num = int(input())
    a = num % 10
    b = num % 100 //10
    print((a + b ) % 2 == 0)

     ```
    
    4. 逻辑运算符的补充
    1. 短路操作
    • 逻辑与的短路操作: 表达式1 and 表达式2 中如果表达式1的结果是False,那么表达式2中代码不执行
    • 逻辑或的短路操作: 表达式1 or 表达式2 中如果表达式1的结果是True ,那么表达式2中代码不执行
    def func1():
        print('执行函数体')
    

    ​ True and func1()
    ​ False and func1()

    ​ False or func1()
    ​ True or func1()

    1. 运算对象不是bool
      • 与运算:
      • 表达式1 and 表达式2 - 如果表达式1的结果是True则运算结果为表达式2; 如果表达式1的结果是False则运算结果为表达式1
      • 与运算:表达式1 or 表达式2 - 如果表达式1的结果是False则运算结果为表达式2;如 果表达式1的结果是True则运算结果为表达式1
    print(7 and 8)   #8
    print(7 or 8)    #7
    
    1. 补充:数据的bool(非常重要)
      所有为0为空的bool是False,其余全是True
      零值和空值:0、0.0、’’、""、None
4. 赋值运算符
  • =

  • +=

  • -=

  • *=

  • /=

  • %=

  • //=

  • **=

    重要结论
    1. 所有的赋值运算都是用来给变量赋值,没有计算结果.(所有的赋值运算都没有结果)

    2. 所有赋值运算符的左边必须是变量

    3. 赋值运算符 =

      变量 = 数据 - 将数据保存到变量中

    a = 10
    

    +=、-=、*=、/=、%=、//=、**=
    变量 += 数据 - 先将变量中保存的数据取出来,和右边数据进行加法运算,将计算结果重新赋值给变量
    注意: 此处变量必须先赋值

    b = 10
    b += 2    # b = b + 2 = 10 + 2 = 12
    print(b)
    
    1. 运算符的优先级
      1. 数学运算符 > 比较运算符 > 逻辑运算符 > 赋值运算符(最低)
      2. ** > *、/、%、// > +、-
      3. 右括号先算括号里面的
    a = 10 + 20 * 3 > 5 and 7 - 8 > 9
    
if分支结构
  1. 流程控制
    • 顺序结构(默认) - 代码从上往下依次执行,每条代码执行一次
    • 分支结构 - 根据条件去执行或者不执行某些代码
  • 循环结构 - 让代码重复执行
  1. 分支结构 - if语句
    1. if单分支结构 - 满足条件执行某个操作,条件不满足的时候对应操作不执行
      • 语法:
        if 条件语句:
        代码段
      • 说明:
        if - 关键字,固定写法
        条件语句 - 任何有结果的表达式(除了赋值语句以外的表达式)
        : - 固定写法(注意输入法)
        代码段 - 和if保持一个缩进的一条或者多条语句(满足条件才执行的代码)
      • 执行过程:
        先判断条件语句结果是否为True,如果为True则执行代码段,否则代码段不执行

    练习1:如果成年打印"可以进网吧"

    age = 19
    if age >= 18:
     print("可以进网吧")
    

    练习2:给一个年份,如果年份是闰年就打印"闰年"

    year = 2020
    if (year % 4 == 0 and year % 100 !=0) or year % 100 ==0:
     print('闰年')
    
    1. if双分支结构 - 满足条件执行某个操作,条件不满足的时候执行另外的操作
    • 语法:

      if 条件语句:

      ​ 代码段1

      else;

      ​ 代码段2

      练习:输入一个数,奇数输出奇数,偶数输出偶数

      # 方法一:
      num = int(input())
      if num %2 ==1:
          print('是奇数')
      else:
          print('是偶数')
      
      # 方法二:
      if num % 2:
          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及以上 老年
      
      age = 67
      
      if 0<=age<=3:
          print('儿童')
      elif age<=17:
          print('少年')
      elif age<=28:
          print('青年')
      elif age<=39:
          print('壮年')
      elif age<=59:
          print('中年')
      else:
          print('老年')
      

作业

选择题
  1. c
  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 = int(input())
if num % 10 == 0:
    print("该数能同时被2和5整除")
else:
    print("该数不能同时被2和5整除")
  1. 写出判断一个数是否能够被2或者5整除,但是不能同时被2或者5整除的条件,并且打印对应结果
   num = int(input())
   if (num % 2 == 0 or num % 5 ==0) and not(num % 2 ==0 and num % 5 ==0):
       print("该数可以")
   else:
       print('该数不可以')
  1. 假设今天的上课时间为15678秒,编程计算今天上课时间是多少小时,多少分钟,多少秒;以’XX时XX分XX秒’的方式表示出来

例如:100秒表示成0时1分40秒

sec = 15678
hours = sec // 3600
mintues = sec % 3600 // 60
seconds = sec % 60
print(hours,'时',mintues,'分',seconds,'秒')
  1. 定义两个变量保存⼀个⼈的身⾼和体重,编程实现判断这个⼈的身材是否正常!

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

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

    height = int(input())
    weight = int(input())
    res = weight/height**2
    if 18.5 <= res <= 24.9:
        print("你的身材正常,请继续保持")
    else:
        print('你的身材不太正常,请多加管理')
    
    
    
    
  2. 根据输入的成绩的范围打印及格 或者不及格

    grade = int(input())
    if grade <=59:
        print('成绩不及格')
    else:
        print('成绩及格')
    
  3. 根据输入的年纪范围打印成年或者未成年,如果年龄不在正常范围内(0~150)打印这不是人!

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

a = int(input())
b = int(input())

if (a-b) % 2:
    print('a-b是奇数')
else:
    print('a-b的结果不是奇数')
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值