上节课复习
1、变量
2、运算符
今日内容
赋值运算
逻辑运算
2、流程控制之循环
while循环
for循环
一、运算符
1、赋值运算符
增量赋值
age += 1
>>>age = age + 1
链式赋值
x = 10 y = x z = y x = y = z = 10
print(id(x),id(y),id(z))
交叉赋值
m = 10 n = 20
temp = n
n = m
m = temp
print(m)
print(n)
m,n = n,m
print(m)
print(n)
解压赋值
列表:
salaries = [11,22,33,44,55,66,77] mon1,mon2,mon3,mon4,mon5,mon6,mon7 = salaries print(mon1,mon2,mon3,mon4,mon5,mon6,mon7) mon1,mon2,mon3,*_ = salaries print(mon1) print(mon2) print(mon3) print(_) *_,last2,last1 = salaries print(last1) print(last2) print(_)
mon1,*_,last2,last1 = salaries
print(mon1)
print(last1)
peint(last2)
_,*middle,_ = salaries
print(middle)
2、逻辑运算符
not:not将紧跟其后的那个条件取反
and:连接左右两个条件,只有两个条件同时为True,终止结果为True
or:连接左右两个条件,但凡有一个条件为True,最终结果就为True
三者的优先级关系:() > not > and > or
短路运算:偷懒原则
了解:布尔值分为两大类:
1、显式的布尔值:能明确的得到True或False,比如x = True,10 > 3 and 1 == 1
2、隐式的布尔值:
1)None,0,空(空字符串,空列表,空字典等)三种情况下的布尔值为False
2)其余全部为真
4、短路运算面试题: >>> 1 or 3 1 >>> 1 and 3 3 >>> 0 and 2 and 1 0 >>> 0 and 2 or 1 1 >>> 0 and 2 or 1 or 4 1 >>> 0 or False and 1 False
二、流程控制之if判断
1、什么是判断
判断 条件:
做xxx
否则:
做yyy
2、为何要判断
为了让计算机像人一样根据条件的判断结果去做不同的事情
3、如何用判断
完整语法:
if 条件1: 代码1 代码2 代码3 elif 条件2: 代码1 代码2 代码3 ...... else: 代码1 代码2 代码3
1、单分支
if 条件1: 代码1 代码2 代码3
2、双分支
if 条件1: 代码1 代码2 代码3 else: 代码1 代码2 代码3
示例:
inp_name = 'egon'
inp_pwd = '123'
print('start...)
db_name = 'egon'
db_pwd = '456'
print('start....')
if inp_name == db_name and inp_pwd == db_pwd:
print('登录成功')
else:
pritn('用户名或密码错误')
print('end...')
3、多分支
if 条件1: 代码1 代码2 代码3 elif 条件2: 代码1 代码2 代码3 elif 条件3: 代码1 代码2 代码3
示例:
print('start...')
if inp_name != db_name:
print('用户名错误')
elif inp_name == db_name and inp_pwd == db_pwd:
print('密码错误')
elif inp_name == db_name and inp_pwd == db_pwd:
print('登录成功')
print('end...')
# 案例: score = 99 if score >= 90: print('优秀') elif score >= 80: print('良好') elif score >= 70: print('普通') else: print('很差')