#基本运算符
##赋值运算
1、 增量运算
```
age+=1
print(age)
age-=1
print(age)
```
2、交叉赋值
```
a=1
b=2
a,b=b,a
print(a,b)
```
3、链式赋值
```
x=1
y=x
z=y
z=x=y=1
print(id(z),id(x),id(y))
```
4、解压赋值
```
names=['egon','tank','alex','lxx']
name1,name2,name3,name4=names
name1,name2,*_=names
*_,name3,name4=names
_,*name2,_=names
```
注意:
1.变量名和值的个数必须相等,不能多也不能少
##逻辑运算
一、显式的布尔值:表面上看上去就是Ture或者False的值
1、比较运算的结果
```
print(1==2)
print1(10<=1)
````
2、变量值直接就是Ture或者False
```
tag=Ture
tag=False
```
二、隐式布尔值
表面上是一种值,实际上在底层会被换成布尔值False或者Ture
注意:0,None,空 (包括空列表,空字典。空字符串) 对应的布尔值权威False,其余全为Ture
##逻辑运算符
用来连接多个条件
1、not:与结果取反
```
print(not 1>2)
print(not Ture)
print(not { })
```
2、and:左右两边用来连接条件,只有条件全为真时才成立
```
print(1>12 and 1)
print(Ture and False)
```
3、or:左右两边用来连接条件,只要一个条件为Ture,结果就为Ture
```
print(1 or 0)
print(False or 0)
```
**注意:优先级:not>and>or**
4、短路运算
```
res=(3 > 4 and 4 > 3)or (not (1 == 3 and 'x' == 'x'))or 3 > 3
print(res)
res= 3 > 4 and 4 > 3 or not 1 == 3 and 'x' == 'x' or 3 > 3
print(res)
res= (3 > 4 and 4 > 3)or (not 1 == 3 and 'x' == 'x')or 3 > 3
res= 3 > 4 and 4 > 3 or not 1 == 3 and 'x' != 'x' or 3 > 3
print(res)
```
##if判断
像人一样来判断,用来改变流程走向
**语法:**
```
if 条件1:
代码1
代码2
。。。。
elif 条件2:
代码1
代码2
。。。
else:
代码1
代码2
。。。
```
例:
````
results= 89
if results>= 90:
print('优秀')
elif results>= 80:
print('良好')
elif results>= 70:
print('普通')
else:
print('很差')
```
#作业
1、短路运算面试题,请说出下列运算的结果
>>> 1 or 3 and 4
```
1
```
>>> 1 and or 0 and 3
```
3
```
>>> 0 and 3 and 1
```
0
```
>>> 1 and 2 or 1
```
2
```
>>> -31 and 2 or 1 or 4
```
2
```
>>> 33 or False and 1 or 5
```
33
```
2、用户输入账号密码,程序分别单独判断账号与密码是否正确,正确输出True,错误输出False即可
```
name= input('请输入用户名: ')
if name== 'egon':
pwd= input('Ture \n 请输入密码: ')
if pwd== '123':
print('Ture')
else:
print("False")
else:
print('False')
```
3、让计算机提前记下egon的年龄为18岁,写一个才年龄的程序,要求用户输入所猜的年龄
,然后程序拿到用户输入的年龄与egon的年龄比较,输出比较结果即可
```
age= input('请输入egon的年龄: ')
if age== '18':
print('恭喜你猜对了')
else:
print('真遗憾猜错了')
```
4、程序从数据库中取出来10000条数据,打算显示到页面中,
但一个页面最多显示30条数据,请选取合适的算数运算符,计算
显示满30条数据的页面总共有多少个?
最后一页显示几条数据?
```
a=10000//30 #333
b=10000%30 #10
```
5、egon今年为18岁,请用增量赋值计算3年后egon老师的年龄
```
age=18
age+=3
```
6、将值10一次性赋值给变量名x、y、z
```
x=y=z=10
```
7、请将下面的值关联到它应该对应的变量名上,你懂的
dsb = "egon"
superman = "alex"
```
sb,superman=superman,dsb
```
8、我们只需要将列表中的傻逼解压出来,一次性赋值给对应的变量名即可
names=['alex_sb','wusir_sb','oldboy_sb','egon_nb','lxx_nb','tank_nb']
```
sb1,sb2,sb3,*_=names
```
9、编写验证用户身份的程序(用计算机取代业务员)
```
name= input('请输入你的账号: ')
pwd= input('请输入你的密码: ')
if name== 'egon' and pwd== '123':
print('登陆成功')
else:
print('账号或者密码错误')
```
10、编写程序实现如下功能
# 要求用户输入今天是周几,然后作出判断
# 如果:今天是Monday,那么:上班
# 如果:今天是Tuesday,那么:上班
# 如果:今天是Wednesday,那么:上班
# 如果:今天是Thursday,那么:上班
# 如果:今天是Friday,那么:上班
# 如果:今天是Saturday,那么:出去浪
# 如果:今天是Sunday,那么:出去浪
```
today= input('请输入今天的日期: ')
if today== 'monday':
print('小伙子,安心上班吧')
elif today== 'Tuesday':
print('小伙子,安心上班吧')
elif today== 'Wednesday':
print('小伙子,安心上班吧')
elif today== 'Thursday':
print('小伙子,安心上班吧')
elif today== 'Friday':
print('小伙子,安心上班吧')
elif today== 'Saturday':
print('小伙子,去放飞自我吧')
elif today== 'Sunday':
print('小伙子,去放飞自我吧')
```