python day 05
成员运算符
定义:查看某个体在不在某个群体内
关键字:in(在) not in (不在)
eg:
names_list = ['kevin', 'jack', 'tank', 'tony'] print('kevin' in names_list) # True False print('aa' in names_list) print('bb' not in names_list) print('hello' in 'hellworld') print('ke' in 'kevin') print('kevin' in {'username': 'kevin', 'age': 18}) # False print('username' in {'username': 'kevin', 'age': 18}) # False '''字段暴露给外界的是K'''
身份运算符
作用:比较两个值是否相等
关键字:==(比较的是值是否相等) is(比较的是内存编号是否相等)
s1 = ['kevin', 'tank', 'jack'] s2 = ['kevin', 'tank', 'jack'] print(s1 == s2) # True # is比较的是id print(id(s1)) print(id(s2)) print(s1 is s2) # False
值相等的内存地址不一定相等
内存地址相等的值一定相等
流程控制
什么是流程控制?
就是控制事务的执行流程
分类:
1. 顺序结构
自上而下依次执行
2. 分支结构
根据不同的条件执行不同的分支
3. 循环结构
就是重复执行
4. 画流程图的软件
Visio
processon
分支结构
注意事项:
1、条件都要转为布尔类型判断,根据条件的成立与否,决定是否要执行代码块
2、条件成立之后,需要执行子代码块,子代码块是要缩进的。(一般情况下推荐使用4个空格作为缩进)
3、只要遇到冒号,下面一行代码必缩进
4、当你的子代码只有一行的时候,可以不换行,直接写在冒号后面。
5、同属于一个代码块的子代码块,缩进量要一致
6、不是所有的代码都有子代码块
1. 单分支结构
语法格式:
if 条件:
条件成立之后要执行的代码块
# eg:年龄小于26,我们称小姐姐 age = 18 if age < 26: print('小姐姐好啊!给个微信呗')
2. 双分支结构
语法格式:
if 条件:
条件成立之后执行的代码块
else:
条件不成立执行的代码块
# eg:如果年龄小于26,称小姐姐,否则,认错人了... age = 18 if age < 26: print('小姐姐') else: print('认错人了')
双分支结构有且只能执行一个分支。
3. 多分支结构
语法格式:
if 条件1:
条件1成立之后执行的代码块
elif 条件2:
条件1不成立,条件2成立执行的代码块
elif 条件3:
条件1、条件2不成立,条件3成立之后执行的代码块
...
else:
以上所有条件都不成立的话,执行的代码块
# 以上不管你写了多少种情况,也只会执行一种情况
# eg: # 90分为优秀 80分良好 70分的中等 60分及格 60分以下的重修 score = 90 score = 80 if score >= 90: print('优秀') # elif score >= 80 and score < 90: elif score >= 80: # elif 80<=score<90: # print('良好') elif score >= 70: print('中等') elif score >= 60: print('及格') else: print('重修')
if嵌套
age = 18 height = 160 weight = 100 is_beautiful = True is_success = False if age < 26 and height >= 160 and weight <= 100 and is_beautiful: print('小姐姐,能否给个微信?') if is_success: print('吃饭,看电影...') if True: if False: ... else: print('滚蛋吧,下一个更好') else: print('认错人了')
循环结构
语法结构:
while 条件:
条件成立之后执行的循环体
while True: # 1. 先让用户输入用户名和密码 username = input('username>>>:') password = input('password>>>:') # password: str---->123 password = int(password) # 只能转数字类型的 # 2. 比较用户名和密码 # 在python中,==比较值大小和类型 # if username == 'kevin' and password == '123': if username == 'kevin' and password == 123: print('登录成功') else: print('登录失败')
while + break
count = 0 while count < 3: # 1. 先让用户输入用户名和密码 username = input('username>>>:') password = input('password>>>:') # password: str---->123 password = int(password) # 只能转数字类型的 # 2. 比较用户名和密码 # 在python中,==比较值大小和类型 # if username == 'kevin' and password == '123': if username == 'kevin' and password == 123: print('登录成功') break # 调出while循环,它是跳出本层循环 else: print('登录失败')
break跳出本层循环
count = 0 while count < 3: # 1. 先让用户输入用户名和密码 username = input('username>>>:') password = input('password>>>:') # password: str---->123 password = int(password) # 只能转数字类型的 # 2. 比较用户名和密码 # 在python中,==比较值大小和类型 # if username == 'kevin' and password == '123': if username == 'kevin' and password == 123: print('登录成功') while True: cmd = input('请输入你的指令:') print('正在执行你的指令: %s' % cmd) '''如果输入的是q,就退出整个程序''' if cmd == 'q': break break else: print('登录失败')
标志符的使用
flag = True while flag: # 1. 先让用户输入用户名和密码 username = input('username>>>:') password = input('password>>>:') # password: str---->123 password = int(password) # 只能转数字类型的 # 2. 比较用户名和密码 # 在python中,==比较值大小和类型 # if username == 'kevin' and password == '123': if username == 'kevin' and password == 123: print('登录成功') while flag: cmd = input('请输入你的指令:') print('正在执行你的指令: %s' % cmd) '''如果输入的是q,就退出整个程序''' if cmd == 'q': flag = False else: print('登录失败')