Day2-运算符和if语句--4.27

day2-运算符和if语句

一、数学运算符

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

1、数学运算符

1)+、-、*、/:和数学中的+、-、x、÷一模一样

print(1 + 1)
print(1 - 1)
print(2 * 3)
print(3 / 2)
  1. % :求余数

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

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

num = 123
print(num % 10) # 取个位数
print(num % 100) # 取后两位数

3)//:整除(向下取整)

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

num = 12345
print(num // 10) # 去掉个位数
print(num // 100) # 去掉后两位数

4)**:幂运算

print(2 ** 3) # 2的3次方
print(8 ** (1/3)) # 8开立方

2、比较运算符

比较运算符:==(等于)、!=(不等于)、>(大于)、<(小于)、>=(大于等于)、<=(小于等于)

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

2)python中的比较运算符支持连写方式(别的语言不支持)

3、逻辑运算符

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

  1. and

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

# 一个数能同时被3和7整除
num = 63
print(num % 3 == 0 and num % 7 == 0) # True

2)or

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

# 判断一个数能否被3或者7整除
num = 16
print(num % 3 == 0 or num % 7 == 0) # False

3)not

应用场景:对某一个条件进行否定
运算规则:
not True - False
not False - True

# 判断一个数是否不能同时被3和7整除
num = 15
print(not (num % 3 == 0 and num % 7 == 0)) # True

4、逻辑运算符扩展

1)短路操作

逻辑与的短路操作:表达式1 and 表达式2 中如果表达式1的结果是False,那么表达式2不进行

逻辑或的短路操作:表达式1 or 表达式2 中如果表达式1的结果是True,那么表达式2不进行

2)运算对象不是布尔值

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

print(7 and 8) # 8
print(0 and 9) # 0
print(7 or 8)  # 7
print(not 10)  # False

3)数据的布尔值(非常重要)

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

0值和空值:0,0.0,0.00,’’,"",None

5、赋值运算符

赋值运算符:=,+=,-+,*=,/=,%=,//=,**=

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

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

1)=

变量 = 数据

a = 10

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

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

这儿的变量必须先赋值

b = 10
b += 3
print(b) # 13

3)运算符的优先级

数学运算符 > 比较运算符 > 逻辑运算符 > 赋值运算符(最低)

** > *,/,%,// > +,-

有括号先算括号里面的

6、if分支结构

1)流程控制

顺序结构(默认) - 代码从上往下一条一条的执行,每条代码只执行一次

分支结构 - 根据条件去执行或者不执行某些代码

循环结构 - 让代码重复执行

2)分支结构

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

语法:
if 条件语句:
代码段

说明:
if - 关键字,固定写法
条件语句 - 任何有结果的表达式(除了赋值语句以外的表达式),比如:数据,已经赋值过的变量,运算表达式,函数调用表达式
: - 固定写法(注意输入法)
代码段 - 和if保持一个缩进的一条或者多条语句(满足条件才执行的代码)

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

# 如果成年打印‘可以进入网吧’
age = 19
if age >= 18:
    print('可以进入网吧')

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

语法:
if 条件语句:
代码段1(满足条件要执行的代码)
else:
代码段2(条件不满足要执行的代码)

# 如果指定数字是奇数,就打印基础,否则打印偶数
# 方法一
num = 21
if num % 2 == 1:
    print('奇数')
else:
    print('偶数')

# 方法二
if num % 2:
    print('奇数')
else:
    print('偶数')      

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

语法:
if 条件语句1:
代码段1
elif 条件语句2:
代码段2
elif 条件语句3:
代码段3

else:
代码段N
其它语句

# 根据年龄值得范围打印阶段
# 方法一
age = 61
if 0 <= age <= 3:
    print('儿童')
elif 4 <= age <= 17:
    print('少年')
elif 18 <= age <= 28:
    print('青年')
elif 29 <= age <= 39:
    print('壮年')
elif 40 <= age <= 59:
    print('中年')
elif age >= 60:
    print('老年')

# 方法二
if age <= 3:
    print('儿童')
elif age <= 17:
    print('少年')
elif age <= 28:
    print('青年')
elif age <= 39:
    print('壮年')
elif age <= 59:
    print('中年')
elif age >= 60:
    print('老年')

作业

选择题

1.B 2.A 3.B 4.A 5.CD 6.A 7.D

填空题

1.type 2.True 3.9 4.9、6、2

编程题

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

num = 21
print('这个数是否能同时被2和5整除:',num % 2 == 0 and num % 5 == 0)

2、写出判断一个数是否能够被2或者5整除,但是不能同时被2或者5整除的条件语句, 并且打印对应

的结果。

num = 20
print('这个数是否能被2或5整除,但不能同时被2和5整除:',(num % 2 == 0 or num % 5 == 0) and num % 10 != 0 )

3、假设今天的上课时间为15678秒,编程计算今天上课时间是多少小时,多少分钟,多少秒;以‘XX

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

time = 15678
time_second = time % 60
time_minute = time // 60 % 60
time_hour = time // 3600
print(time_hour,'时',time_minute,'分',time_second,'秒',sep='')

4、定义两个变量保存一个人的身高和体重,编程实现判断这个人的身材是否正常!

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

height = 1.7
weight = 60
print('是否正常:',18.5 < weight / height**2 < 24.9)

5、根据输入的成绩的范围打印及格 或者不及格

score = int(input('请输入成绩:'))
if score >= 60:
    print('及格')
else:
    print('不及格')
        

6、根据输入的年纪范围打印成年或者未成年,如果年龄不在正常范围内(0~150)打印这不是人!

age = int(input('请输入年龄:'))
if 0 <= age < 18:
    print('未成年')
elif 18 <= age <=150:
    print('成年')
else:
    print('这不是人!')
    

7、输入两个整数a和b,若a-b的结果为奇数,则输出该结果,否则输出提示信息a-b的结果不是奇数

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值