成员运算
判断某个个体在不在某个群体内 in 判断在xxx里面 print('e' in 'hello world') # True 字符串参与成员运算 print('jeson' in ['jeson','egon','kevin']) # True 列表参与成员运算 print('jeson' in {'name':'jeson','age':'12'}) # False print('name' in {'name':'jeson','age':'12'}) # True 字典参与成员运算 只有key参加 value无法参与 not in 判断不在xxx里面
身份运算
== 仅仅判断值是否相等 is 判断内存地址(id)是否相等 a = [1,2,3] b = [1,2,3] print(a == b) # Ture print(a is b) # False """ 值相等内存地址不一定相等 内存地址相等值一定相等 """
流程控制(重点)
顺序结构 代码自上而下依次运行(我们之前所写的代码都是顺序结构) 分支结构 代码运行到某个节点之后根据条件的不同执行不同的代码(if判断) 循环结构 代码运行到某个节点之后一直重复执行某一段代码直到结束(while,for)
分支结构
# 如果女孩子的年龄小于30岁 打印小姐姐 girl_age = 28 if girl_age < 30: # if判断 print('小姐姐好') if 条件: 条件成立后执行的代码 """ 必备知识 代码缩进 在python中使用缩进表示代码的从属关系 一般情况下用四个空格(tab键)代表缩进(推荐) 并不是所有的代码都可以拥有子代码 同属于一个关键字的子代码必须要保持相同的缩进量 遇到冒号,下面的代码必缩进 """ girl_age = 28 if girl_age < 30: # if判断 print('小姐姐好') else: print('认错人了') """ if 条件:(条件成立走这个) 代码1 代码2 ... else:(条件不成立走这个) 代码1 代码2 ... """ girl_age = 28 if girl_age < 30: # if判断 print('小姐姐好') elif girl_age<40: print('老姐姐好') else: print('晚安') ''' if 条件:(条件成立走这个) 代码1 代码2 ... elif 条件:(if条件不成立走这个)(可以写多个) 代码1 代码2 ... else:(所有条件不成立走这个) 代码1 代码2 ... ''' # 条件可以是一个 也可以是多个连接 age = 18 height = 178 is_beautiful = True if age < 20 and height >170 and is_beautiful: print('一起吃饭') else: print('晚安') # if嵌套 age = 18 height = 178 is_beautiful = True is_success = True if age < 20 and height >170 and is_beautiful: print('一起吃饭') if is_success: print('go go') else: print('打扰了') else: print('晚安')
循环结构
""" while 条件: 循环代码直到条件不成立 循环代码1 ↑ 循环代码2 ↑ 循环代码3 → """ while True: username = input('username>>>') password = input('password>>>') if username == 'jason' and password == '123': print('登陆成功') break else: print('用户名或密码错误') break # 结束离它最近的一个循环 本层循环 continue # 结束本次循环 开始下一次循环 # 循环打印1-10 a = 1 while a <= 10: print(a) a += 1 # 跳过7,打印1-10 a = 1 while a <= 10: if a == 7: a += 1 continue print(a) a += 1 # else 可以与 while 连用 a = 1 while a <= 10: print(a) a += 1 else: print('当while没有被break主动结束的情况下自动结束了 则会走else')
while循环嵌套
flag = True while flag: # 第一层循环 username = input('username>>>') password = input('password>>>') if username == 'jason' and password == '123': print('登陆成功') while flag: # 第二层循环 command = input('command>>>') if command == 'q': flag = False else: print('用户名或密码错误')
for循环
for循环能够做到的事while循环都可以做到 但是for循环使用起来比while循环更方便 # 以后更多使用for循环 name_list = ['jason','egon','kevin','tony',] # 用while循环将里面的变量一个一个打出来 num = 0 while num < len(name_list): print(name_list[num]) num += 1 # 用for循环将里面的变量一个一个打出来 for name in name_list: print(name) ''' for 变量名 in 可迭代对象: #可迭代对象,看成字符串、列表、字典等类型 for循环的循环体代码 变量名不知道起什么好,一般以 i、j、item ''' for i in 'hello world': # for循环字符串,将字符串单个单个的字符依次赋值给变量名i print(i) for i in {'name':'jason','pwd':123}:# for循环字典,只会依次拿到字典的key print(i) range # 简单的看成是一个能够产生一个含有多个元素的列表 range(1,11) # range顾头不顾尾 break # 结束本层for循环,与while+break一致 continue # 结束本次for循环,与while+continue一致 else # 等for循环正常结束之后,执行else的子代码,与while+else一致
for循环嵌套
# 九九乘法表 for i in range(1,10): for j in range(1,i+1): print('%s*%s=%s'%(i,j,i*j),end=' ') print()
作业
''' 猜年龄的游戏 1.必写 错误的情况下只能猜3次 正确的情况下直接退出游戏 2.拔高 三次错误之后提示用户三次机会已经用完 问他是否继续 如果继续则再给三次机会 如果不继续则直接退出 '''