第二天课程总结 - 运算符和分支
一.定义变量和给变量赋值的原理
Python定义变量的时候,需要先申请内存,内存申请多大看数据需要多大,然后将数据保存到内存中再和变量进行关联。
重新给变量赋值的时候,会重新申请新的内存,新的内存的大小由新的数据大小决定。
二.数学运算符
1.数学运算符:+、-、*、/、%(取余)、//(整除)、**(幂运算),运算顺序跟数学中的运算顺序一样
注意:有"+、-、*"的运算,如果运算对象中有浮点数,结果就是浮点数;如果都是整数,结果就是整数
但是’/’ (除法运算)的结果一定都是浮点数,不管除尽与否都是浮点数
2.%(取余;取模)
应用一:判断一个数能否被另一个数整除
应用二:取整数的低位数字,对10取余就可以获得一个个位上的数,可以根据需求对10的幂次方进行取余
3.//(整除;砍掉数)- 求商 商向小取整 (注意负数)
print(5/2) #2.5
print(5//2) #2
print(-5//2) #-3
应用一:去掉低位数
print(2374//10) #237
获取一个正整数的十位数,有两个方法:
# 方法一
num=8976
897%10--7
print(num//10%10) #先去掉个位数,再对10取余获得的个位数7就是原来的十位数了
方法二
76//10--7
print(num%100//10) #先对100取余获得后两位数:76,再对10取整,去掉6得到7
4.**幂运算
print(3**5) #243
print(2**3) #8
print(16**0.5) #4.0
print(2**(-3)) #0.125
5.比较运算符:<、>、>=(大于等于)、<=(小于等于)、==(等于)、!=(不等于)
说明:所有比较运算符的运算结果都是布尔值
python可以直接通过比较运算符来表示范围
x=8
print(0<=x<=10) #输出的结果就是Ture
三.逻辑运算符
类型:and(逻辑与运算)、or(逻辑或运算)、not(逻辑非运算)
1.and
应用场景:用于需要多个条件同时成立的时候,相当于生活中的并且
运算规则:两个条件同时满足的时候才是Ture,其他都是False
num=15
#方法1:
print(num%15==0)
#方法2:
print(num%3==0 and num%5==0) #判断一个数能否同时被3和5整除
2.or 逻辑或运算
应用场景:用于需要多个条件只要由一个满足就可以的情况,相当于生活中的或者
运算规则:条件1 or 条件2 - 两个条件满足一个就是Ture
#判断v保存的数据是否是数字数据
v=100
print(type(v)==int or type(v)==float)
3.not 逻辑非运算
应用场景:对一个条件进行否定,当一个条件正向写的时候情况很多很复杂,反向却很简单的时候,条件就反向写再加not
运算规则:not 条件
四.赋值运算符
赋值运算符:=、+=、-=、*=、/=、%=、//=、**=
1.所有赋值运算符的功能都是将数据直接或者间接存储到一个变量中,不会产生任何结果
变量 赋值符号 数据
重要的结论:赋值运算表达式是没有结果的 比如:
a=10
print(a=10) #结果会报错,因为a=10这个赋值表达式是不会产生结果的
2.运算符的优先级
数学运算符 > 比较运算符 > 逻辑运算符 > 赋值运算符
数学运算符中,**>*、/、%、//>+、-
有括号先算括号里的
3.复合的赋值运算符
变量+=数据 - 将变量中的数据取出来和后面的数据进行加法运算,将运算结果再赋值给前面的变量
注意:变量必须是已经赋值(定义)过的变量
五.分支结构
1.流程控制 - 程序执行方式(顺序)
1)顺序结构(默认) - 代码从上往下依次执行,一条语句执行一次
2)分支结构(if) - 根据条件选择执行或者不执行相关操作
3)循环结构 - 让代码重复执行
2.if语句
1)if单分支结构 - 满足条件执行某个操作,如果条件不满足这个操作就不执行
语法:
if 条件语句:
代码段
其他代码
**注意的地方:**条件语句后的: 代码段前要有缩进
说明:
if - 关键字:固定写法
条件语句 - 任何有结果的表达式,比如:具体的数据、保存数据的变量,运算表达式(赋值表达式不可以,因为没有结果)等
: - 固定写法
代码段 - 从结构上就是和if保持一个缩进的一条或者多条语句;代码段就是满足条件的时候才执行的代码
执行过程:先判断条件语句是否为Ture,如果是就执行代码段,然后再执行后面的其他代码;
如果是False就不执行代码段,直接执行其他代码
如果条件语句的结果不是布尔,就转换成布尔再看。(其他数据转换布尔的时候除了零值跟空值,都是True)
2)双分支结构
语法:
if 条件语句:
代码段1
else:
代码段2
3)多分支结构 - 根据不同的条件做不一样的事情
方案一:直接使用多个if
方案二:使用if-elif-else结构
if 条件1:
代码段1
elif 条件2:
代码段2
elif 条件3:
代码段3
…
else:
代码段N
其他代码
age=int(input("输入年龄:"))
# print(age)
if age<12:
print('儿童')
elif age<18:
print('少年')
elif age<28:
print('青年')
elif age<40:
print('壮年')
elif age<60:
print('中年')
else:
print('老年')
t(“输入年龄:”))
print(age)
if age<12:
print(‘儿童’)
elif age<18:
print(‘少年’)
elif age<28:
print(‘青年’)
elif age<40:
print(‘壮年’)
elif age<60:
print(‘中年’)
else:
print(‘老年’)