02运算符和if

运算符和if

  • 数学运算符

    python支持运算符:数学运算符、比较运算符、逻辑运算符、赋值运算符、位运算
    数学运算符:+、-、
    、/、//(整除)、%(取余、取模)、**(幂运算)
    1)±*/和数学中的功能和用法一致
    注意:除法运算的运算结果是浮点型

print(1+1)
result = 10+20
print(type(1+1))

​ 2)// - 求商,商保留整数部分,向小取整

print(1.8/2) # 0.9
print(1.8//2) # 0.0
print(-2.8//2) # -2.0
print(-5//2) # -3

​ 应用:取高位数
​ 练习:写代码获取输入的任意的三位数的百位数

num = 980
print(980//100) # 9

​ 3)% - 取余、取模、求余数
​ x % y - 求x除以y的余数

print(5 % 2) # 1

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

print(2 ** 3)
# 注意:次方数如果是N分之一就是开N次方
print(16 ** 0.5) # 4.0
print(8 ** (1/3)) # 2.0
  • 比较运算符

    比较运算符:>、<、==、>=、<=、!=

# 注意:所有比较运算符的运算结果都是布尔值
print(10 > 20)
# 注意:python支持表示范围的连写方式
num = 10
print(0 < num < 20)
  • 逻辑运算符

    逻辑运算:and、or、not
    注意:从应用的角度讲,所有的逻辑运算结果是布尔值
    1.and - 逻辑与运算

    1)应用场景:相当于生活中的并且;用于需要多个条件同时满足的情况
    2)运算规则:条件1 and 条件2 - 如果条件1和条件2都成立,结果就是True,

    ​ 只要有一个是不成立,结果就是False
    ​ True and True -> True
    ​ True and False -> False
    ​ False and False -> False
    ​ False and True -> False

# 练习:写出判断一个数是否能同时被3和7整除的条件
num = 21
print('是否能同时被3和7整除:', num % 3 == 0 and num % 7 == 0)

​ 2.or - 逻辑或运算

​ 1)应用场景:相当于生活中的或者;用于需要多个条件中有一个条件满足的场景
​ 2)运算规则:条件1 or 条件2 - 如果条件1或者条件2有一个是True结果就是True,两个都是False结果才 是False
​ True or True -> True
​ True or False -> True
​ False or False -> False
​ False or True -> True

# 练习1:写出判断一个数是否能被2或者5整除
num = 10
print('是否能被2或者5整除:', num % 2 ==0 or num % 5 == 0)
# 练习2:判断指定的年是否是闰年
# 闰年的条件:1)能被400整除   2)能被4整除但是不能被100整除
year = 2001
print('是否是闰年:', year % 400 == 0 or (year % 4 == 0 and year % 100 != 0))

​ 3.not - 逻辑非运算

​ 1)应用场景:对一个条件进行否定
​ 2)运算规则:not 条件 - 对指定条件进行否定
​ not True -> False
​ not False -> True

age = 20
print(age > 18)
print(not age > 18)

# 练习:写一个条件,判断一个数是否不能同时被3和7整除
num = 42
print('是否不能同时被3和7整除:', not num % 21 == 0)
  • 逻辑运算符的扩展

    1.逻辑运算符的短路操作

    1. 逻辑与运算的短路
      条件1 and 条件2 - 如果条件1是False,那么条件2对应的代码不执行,结果直接是False

    2. 逻辑或运算的短路
      条件1 or 条件2 - 如果条件1是True,那么条件2的代码不执行,结果直接就是True

False and print('hello')
True or print('world')

​ 2.运算对象不是布尔值的时候

​ 1) 逻辑与的通用运算规则
​ 数据1 and 数据2 - 判断数据1的布尔值是否是True,如果是,整个结果就是数据2,否则整个结果是数 据1
​ 数据1 or 数据2 - 判断数据1的布尔值是否是False,如果是,整个结果就是数据2,否则整个结果是数据 1

​ ※补充:数据的布尔值(任意数据怎么转换成布尔):
python中所有的数据(不管什么类型的数据)都有布尔值,0或空值为False,其余为True

print(8 and 7)
print(0.0 and 7 )
print(8 or 7)
print(0 or 7)

print(not 7)
print(not 0)
print(not '')
  • 赋值运算符

    1.赋值运算符:=、+=、-=、/=、//=、%=、**=
    注意:1)所有的赋值运算符最终的目的是给变量赋值
    2)赋值符号左边必须是变量,右边可以使任何有结果表达式
    3)复合赋值运算的左边必须是已经赋值过的变量

    2.运算符的优先级
    数学运算符>比较运算符>逻辑运算符>赋值运算符(最低)
    数学运算符:**>*、/、%、//>+、-
    有括号的先算括号里的

    3.布尔参与数学运算的时候 True就是1,False就是0

  • 分支结构

    1.流程控制

    1. 顺序执行 - 代码从上往下一条一条的按顺序执行
    2. 分支结构 - 根据条件选择执行或者不执行某些代码(if)
    3. 循环结构 - 让一段代码重复执行(for循环,while循环)

    2.分支结构
    python中能够实现分支结构的只有if
    1)if 单分支结构 - if

    应用场景:如果满足某个条件就执行某段代码,条件不满足就不执行
    语法:
    if 条件语句:
    代码段

    说明:

  1. if - 关键字;固定写法

  2. 条件语句 - 任何有结果的表达式(包括:具体的诗句、已经赋值过的变量、运算表达式-赋值语句除外…)

  3. : - 固定写法(注意:必须使用英文下的冒号)

  4. 代码段 - 和if保持一个缩进的一条或者多条语句;需要在满足条件才会执行的代码

    执行过程:
    先判断if后面的条件语句是否为True(如果不是布尔就看结果的布尔值是否是True),
    如果是True,就执行代码段,否则代码段不执行

# 练习:如果指定的年龄已成年,就打印‘可以进网吧’
age = 18
if age >= 18:
    print('可以进网吧')

​ 2)if双分支结构 - if -else

​ 应用场景:满足条件执行某个操作,不满足的时候执行另外一个操作
​ 语法:
​ if 条件语句:
​ 代码块1(满足条件需要执行的代码)
​ else:
​ 代码块2(条件不满足的时候执行的代码)

​ 执行过程:
​ 判断条件语句是否为True,如果为True就执行代码块1,否则执行代码块2

# 练习:根据num的值打印偶数或者奇数
num = 13
if num % 2 == 0:
    print('偶数')
else:
    print('奇数')

# 练习2:根据year的值,打印闰年或者平年
year = 2002
if year % 400 == 0 or (year % 4 == 0 and year % 100 != 0):
    print('闰年')
else:
    print('平年')
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值