运算符和if语句

总结

数学运算符

  • +加 , -减,*乘,/除,%取余,取模,//整除,**幂运算
  • 加减乘除,和数学中的加减乘除功能一模一样
# print(10 + 2)
# print(5 / 2)
# print(5 // 2)
  • 取余

    1.判断一个数是否能被另外一个数整除

    2.取一个数的低位数

# num = 235
# print(num % 10) # 5
# print(num % 100) # 35
  • 整除

    求商,商向小数取整

    去掉低位数,保留高位数

    # num = 23448
    # print(num // 10) # 2344
    # print(num // 100)  # 234
    
  • 幂运算

    所有开方操作返回的都是小数

    可求一个数的次方,或者一个数的开方

比较运算符

包括:== (等于) 、 !=(不等于) 、 >(大于) 、<(小于) 、 >=(大于等于) 、 <=(小于等于)

注意:所有的比较运算符的运算结果都是布尔类型

python中的比较运算符支持表示范围的连写方式

print(10 == 10)
print(10 != 10)
print(10 <= 10)
x = 0.7
print(0 <= x <= 1)

赋值运算符

包括:= , += , -= , *= , /= , %= , //= , **=

重要结论

  1. 所有的赋值运算符的功能 : 都是用来给变量赋值,没有计算结果
  2. 所有赋值运算符的左边都必须是变量

= : 变量 = 数据 , 将数据保存到变量中

+= , -= , *= , /= , %= , //= , **=

变量 += 数据 ,是先将变量中保存的数据取出来,和右边的数据进行加法运算,将计算结果重新赋值给变量

变量必须先保存

运算符的优先级

数学运算符 > 比较运算符 > 逻辑运算符 > 赋值运算符

数学运算符 : ** > *,/,%,// > +,-

有括号先算括号里面的

逻辑运算符

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

  • and :

    • 应用场景:多个条件同时满足的时候,将多个条件用and连接,相当于并且
    • 运算规则:两个条件都是True,结果才是True,否则结果是False
  • or :

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

    • 应用场景:对某一个条件进行否定

    • 运算规则:not True - False ;

    ​ not False - True

扩展

短路操作:

逻辑与的短路操作: 表达式1 and 表达式2 中,如果表达式1的结果False,那么表达式2对应的代码就不执行

逻辑或的短路操作: 表达式1 or 表达式2 中,如果表达式1结果是True,那么表达式2对应的代码不执

运算对象不是布尔值:

运算规则:

  • 与运算:表达式1 and 表达式2 -
  • 如果表达式1的布尔值是True,整个与运算的结果是表达式2;
  • 如果表达式1的布尔值是False,整个与运算的结果是表达式1;
  • 或运算:表达式1 or 表达式2 -
  • 如果表达式1的布尔值是False,整个与运算的结果是表达式2;
  • 如果表达式1的布尔值是True,整个与运算的结果是表达式1
  • not 表达式
print(1 and 2)  # 2
print(1 or 2)   # 1
print(not 10)   # False
print(not None)     # True
  • 补充:数据的布尔值

    python中所有的数据都有布尔值,所有的零值和空值对应的布尔值是False,其他都是True;

    零值和空值:0,’’,"",None

if的分支结构

流程控制

  1. 顺序结构 (默认) - 代码从上往下一条一条的执行,每条代码只执行一次
  2. 分支结构 - 根据条件去执行或者不执行某些代码
  3. 循环结构 - 让代码重复执行

if单分支结构 - 满足条件执行某个操作,条件不满足时,对应的操作不执行

age = 19
if age >= 18:
    print('可以进网吧')
# ...
year = 1900
a = (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0)
if a:
    print('闰年')
else:
    print('不是闰年')

if双分支结构 - 满足条件执行某个操作,不满足时执行另外的操作

num = 28
# if num % 2 != 0:
#     print('奇数')
# else:
#     print('偶数')

if num % 2:
    print('奇数')  # 奇数对2取余是1,1是True,就打印'奇数'
else:
    print('偶数')

if多分支结构 - 根据不同的条件执行不同的操作(条件之间:其中一个条件满足了,另外的条件绝对不会满足)

age = 27
if age <= 3:
    print('儿童')
elif age <= 17:
    print('少年')
elif age <= 28:
    print('青年')
elif age <= 39:
    print('壮年')
elif age <= 59:
    print('中年')
else:
    print('老年')

作业

选择题

1.B

2.A

3.D

4.A

5.C D

6.A

7.D

填空题

  1. type()
  2. True
  3. 9
  4. 9,6,2

编程题

  1. 写出判断⼀个数是否能同时被2和5整除的条件语句, 并且打印对应的结果。
num = 34
a = num % 2 == 0
b = num % 5 == 0
print(a and b) # False
  1. 写出判断⼀个数是否能够被2或者5整除,但是不能同时被2或者5整除的条件语句, 并且打印对应

    的结果。

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

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

    time = 15678
    hour = time // 3600
    minute = (time - hour*3600) // 60
    second = (time - hour*3600) % 60
    print(hour,'时',minute,'分',second,'秒') # 4时21分18秒
    
  3. 定义两个变量保存⼀个⼈的身⾼和体重,编程实现判断这个⼈的身材是否正常!

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

    height = 1.8
    weight = 70
    if 18.5 < weight / height ** 2 < 24.9:
        print('True')
    else:
        print('False')
    
  4. 根据输入的成绩范围打印及格或者不及格

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

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

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值