目录
-
逻辑运算符
-
成员运算符
-
身份运算符
-
流程控制
逻辑运算符
关键字:and, or, not print(2 > 1 and 1 == 1 and True and 3 > 2) # 连接符必须都要是and print(2 > 13 or 1 != 1 or True or 3 > 2) # 连接符必须都要是or print(not True) ''' 如果and, or, not 混用的话,是有优先级的 not > and > or 要想改变优先级,只需要加括号改变就行 '''
成员运算符
# 判断某个个体在不在某个群体内 关键字:in(在) not in(不在) name_list = ['aaa, 'bbb', 'ccc', 'ddd'] name = input('请输入您要查询的学生姓名>>>:') print(name in name_list) print(name not in name_list) print('a' in 'aaa b b b c d d ') print('aaa' in {'username': 'aaa', 'age': 18}) # False 字典默认暴露给外界的只有K print('username' in {'username': 'aaa', 'age': 18})
身份运算符
# 判断两个数据 值和内存地址是否相等 符号: ==(只判断值) is(判断内存地址) s1 = ['aaa', 'bbb', 'ccc', 'ddd'] s2 = ['aaa', 'bbb', 'ccc, 'ddd'] print(s1 == s2) # True # print(id(s1),id(s2)) print(s1 is s2) # False """ 值相等内存地址不一定相等 内存地址相等值一定相等 """
流程控制
流程控制即控制事物的执行流程
任何使用执行流程只有三种情况
1.顺序结构
自上而下依次运行
2.分支结构
在运行过程中根据条件的不同可能会执行不同的流程
3.循环结构
在运行过程中有些代码需要反复执行
分支结构
1. python利用缩进来表示代码的从属关系 2. 并不是所有的代码都可以拥有字代码 3. 属于同一个关键字的子代码必须保持相同的缩进量(推荐缩进量为四个空格)
(冒号后面需要缩进)
- 单分支结构
if
if + 条件:
条件成立需要执行的代码age_of_girl = 44 if 24 > age_of_girl > 18: print('小姐姐')
- 双分枝结构
if +条件:
条件成立后执行的子代码块
else:
条件不成立的时候执行的子代码块age_of_girl = 44 if 24 > age_of_girl > 18: print('小姐姐') else: print('阿姨你好')
- if、elif、else 连用
if 条件1:
条件1成立之后执行的子代码块
elif 条件2:
条件1不成立条件2成立执行的子代码块
...
else:
条件不成立执行的子代码块
if语句的嵌套
age = 22 height = 165 weight = 90 is_beautiful = True is_success = True if age < 24 and height > 160 and weight < 100 and is_beautiful: print('小姐姐加个微信?') if is_success: print('吃饭,看电影......') else: print('撒哟娜拉') else: print('撒哟娜拉')
# 1.登录功能,用户名是:bes, 密码:123 # 登录成功之后,打印:登录成功,否则,登录失败 # # 1. 接收用户输入的用户名 username = input('请输入用户名:') password = input('请输入密码:') # 补充 password = int(password) if username == 'bes' and password == 123: print('登录成功') else: print('登录失败') # 如果用户输入的是bes,就打印管理员,jason财务, tom保安,否则,其他人员 # 2. 先让用户输入用户名 username = input('请输入用户名:') if username == 'bes': print('管理员') elif username == 'jason': print('财务') elif username == 'tom': print('保安') else: print('其他人员')
while循环
while + 条件:
条件成立后循环执行的子代码块
while True: username = input('请输入用户名:') password = input('请输入密码:') # 补充 if username == 'bes' and password == '123': print('登录成功') break # 结束本层循环 else: print('登录失败') print(123) #不参与循环
# 验证break跳出的是本层循环 while True: username = input('请输入用户名:') password = input('请输入密码:') # 补充 if username == 'bes' and password == '123': print('登录成功') # 结束本层循环 while True: cmd = input('请输入你的指令:') print('正在执行你的指令:%s' % cmd) if cmd == 'q': break break else: print('登录失败')
标志位的使用
# 标志位的使用 flag = True while flag: username = input('请输入用户名:') password = input('请输入密码:') # 补充 if username == 'bes' and password == '123': print('登录成功') # 结束本层循环 while flag: cmd = input('请输入你的指令:') print('正在执行你的指令:%s' % cmd) if cmd == 'q': flag = False else: print('登录失败')
练习:
猜年龄的游戏:
如果猜对了,就直接结束
如果猜错了:
普通要求:在次猜,给三次机会
进阶要求:如果三次都输错了,要再次询问用户是否还要猜,如果用户输入的是y,继续猜,否则结束
age = 18 # 设置年龄 count = 0 # 设置计数器 while count < 3: num = input('输入年龄:') num1 = int(num) if age == int(num): print('恭喜您猜对了') break else: print('很遗憾您猜错了') count += 1 if count == 3: cmd = input("您已连续错误三次,是否继续:") if cmd == 'y': count = 0 else: print('游戏结束')