今日学习目标:变量,运算符,分支结构,
1.重新赋值
a = 10#创建变量
print (a)
a = 100#重新赋值
print (a)
a = ‘abc’#重新赋一个其他的类型的数据
print (a)
#( 1).同时定义多个变量
同时定义多个变量赋相同的值: 变量名1=变量名2=变量名3=…=数据
x = y = z = 100
print (x,y,z)
(2)同时定义多个变量赋不同的值: 变量名,变量名2,= 数据1,数据2
注意 =后面数据的个数必须和前面的变量个数保持一致
a,b = 1,2
print (a,b)
交换两个变量的值
a = 100
b = 200
a,b = b,a
print (a,b)
方法二
a = 100
b = 200
c = a
a = b
b = c
print (a,b)
(3.)变量保存的底层逻辑
问题1为什么python定义变量不用说明类型
问题2为什么python给变量重新赋值的时候可以赋不同类型的数据
问题3为啥python可以直接计算并保存9999**9999
定义变量会自动在内存中申请空间保存数据
原理:定义变量时会自动申请内存,内存的大小由数据的大小决定,
重新给变量赋值
2.运算符
数学运算符,比较运算符,逻辑运算符,数据运算符
(1)数学运算符 +,—,*(乘),/(除),//(整除),
%(取余,取模),**(幂运算,指数),(结果的类型和运算对象有关,除法除外)除法的结果是浮点数,
不管是否能被除尽
print (1+1)
print (2-1)
#整除
print (5//2)#结果向小取整
print (-5//2)
应用场景:1希望能整除的情况下结果是整数
2:去掉(砍掉)一个整数的地位数,保留高位数
print(5/2)#结果是2.5
print (5//2)
取余
应用场景:1.判断两个数字之间的整数关系 - 判断余数是否为0
2去掉高位数,保留低位数
练习 获取任意一个正整数的十位数
num = 8575
方法一
print (num % 100 // 10)
方法二print
print (num // 10 % 10)
比较运算符: <,>,(<=小于等于),>=(大于等于),==(相等),!=(不等于)
所有的比较运算结果都是布尔值 True False
print (1<2)
print (1>2)
print (1==1)
print (1 != 1)
print (1 != 2)
num = 85
print (‘是否是偶数’,num % 2 == 0)
注意直接连写表示范围
x = 2
print (‘是否在1到3之间’,1<=x<=3)
逻辑运算符:and(逻辑或运算),or(逻辑或运算),not(逻辑非运算)
and(通俗的来讲是’并且‘)需要多个条件同时满足,否者False 全部成立则True
or(可以理解为‘或者‘)多个条件能满足其中一个就成立True 全部不满足则False
num = (35)
print (‘num是否大于10的偶数’,num % 2 ==0 and num >10)
print (‘num是否能同时被3和7整除’,num % 3 ==0 and num % 7 ==0 )
print (1 == 1 or 1 > 2)
print (1 > 3 or 1 > 4)
练习:判断 year 是否是闰年
year = 2000
print (‘year是否是闰年’,year % 4 == 0 or year % 400)
print (‘year是否是闰年’,year % 4 == 0 and year % 100 != 0 or year % 400 == 0)
练习2:判断num能被5或3整除
num = 35
print (‘num是否能被5或者3整除’, num % 5 == 0 or num % 3 == 0)
not (否)对指定的条件进行否定 not后面跟条件
print (not True)
print (not False)
运算优先
1.数学运算符优先于比较运算>逻辑运算>赋值运算 在表达式中谁的优先级高就算谁
不同的数学优先级和数学一样(幂运算>乘除,//,%>+,_)有小括号先算小括号
分支结构:让程序根据条件执行代码
顺序结构:编写和执行都是从上往下按顺序一条一条开始,
默认情况下程序每条语句都会执行并只执行一次
分支结构:1.(if)单分支结构2.双分支结构3.多分支结构
单分支结构哦:满足条件执行某个操作,不满足就不执行。
语法结构:
‘’‘if 条件语句(判断条件):
代码段
‘’’
if 1>0:#判断条件不能用赋值语句,一般用结果是布尔值的表达式作为判断条件
print (‘你好’)
if 关键字 固定写法
: 冒号是固定写法
代码段:和if保持一个缩进的一条或者多条语句,只有条件满了才会执行
执行过程:先判断条件语句是否成立(如果条件语句不是布尔,就会转换成布尔是否是True)
双分支结构;条件成立就执行操作,不成立就执行另一个操作
‘’’
if 条件语句:
代码段1(满足条件执行的代码)
else:
代码段2(不满足条件执行的代码)
‘’’
根据age的值打印成年或未成年
age = 16
if age >= 18:
print (‘成年’)
else:
print (‘未成年’)
根据year的值打印闰年或平年
year = 2000
if year % 4 == 0 and year % 100 != 0 or year % 400 == 0:
print (‘闰年’)
else:
print (‘平年’)