成员运算;身份运算;流程控制 # day05
-
成员运算
in
判断在...里面
not in
判断不在...里面
print('a' in 'hello world aaa') #true
print('world' in 'hello world aaa') #true
print('red' in ['red','blue','yellow']) #true
扩展:字典参与成员运算 只有key参加 value无法参加
例:print('yuziqi' in {'name': 'yuziqi','pwd': '123'}) #false
print('name' in {'name': 'yuziqi','pwd': '123'}) #true -
身份运算
== 仅仅判断值是否相等
is 判断内存地址(相当于id)是否相等
例:
s1 = ['red', 'blue', 'yellow']
s2 = ['red', 'blue', 'yellow']
# print(id(s1),id(s2))
print(s1 == s2) #True
print(s1 is s2) #False
总结:
值相等内存地址不一定相等,内存地址相等值不一定相等。 -
流程控制
-
顺序结构
定义:代码自上而下依次行(ps:我们之前所写的代码都是顺序结构)
-
分支结构
定义:代码运行到某个节点之后根据条件的不同执行不同的代码(指if判断)
-
必备知识点:
1.代码缩进,在python中使用缩进来表示代码的从属关系,一般情况下我们采取四个空格来表示缩进。
2.截至目前为止只有if可以拥有子代码
3.同属于一个关键字的子代码必须要保持相同的缩进量(一般冒号下面的代码 必缩进)
-
分支结构内容
1.
if 条件: 代码1 代码2 ...
else: 代码1 代码2 ... 如果条件成立则走if的子代码 如果条件不成立则走else的子代码
2.
if 条件1: 代码1 代码2 ...
elif 条件2: 代码1 代码2 ... else: 代码1 代码2 ... 条件1成立 执行if的子代码 elif和else都不执行 条件2成立(说明条件1没有成立) 执行elif的子代码 if和else都不执行 如果条件都不成立 则走最后的else子代码 if和elif都不执行 elif可以写多个
-
-
循环结构
定义:代码运行到某个节点之后一直重复执行某一段代码直到结束(while、for)
-
while循环结构内容
while 条件: 循环体代码1 循环体代码2 ... 当条件成立的情况下 会依次执行while子代码 子代码运行结束之后再次返回到条件处判断条件是否成立 如果成立继续执行 如果不成立则结束循环
-
循环嵌套
-
for循环
1.特点
for循环能够做到的事情while循环都可以做到 但是for循环使用起来比while更加的简单快捷
2.结构
for 变量名 in 可迭代对象(可看成为:字符串,列表,字典类型)
当可迭代对象为:字符串时,将单个单个的字符依次赋值给变量i
当可迭代对象为:列表时,将列表中的的一个元素赋值给变量名,当循环体运行结束后,变量名会自动与元素断开联系,新一轮的循环会将第二个元素赋值给变量名,循环结束后与元素断开连接,一直循环,直到运行到最后一个元素,之后变量名会自动识别,并结束循环。
当可迭代对象为:字典时,指挥依次拿到字典的key
拓展:
for 变量名 in range() # range简单的看成是一个能够产生一个含有多个元素的列表
for 变量名 in range(起始位置,终止位置),其特点是顾头不顾尾
例:for 变量名 in range(起始位置,终止位置)打印变量名依次打印起始位置数字——终止位置-1
range在python2与python3的区别:
在python3中:需要值的时候才会给你 不需要的时候就不给 节省内存
在python2中 直接生成一个列表 不节省内存
补充:变量名一般起名:i、j、item
-
-
课后作业:
"""
1猜年龄游戏
必写:
错误的情况下只能猜三次
正确的情况下直接退出游戏
拔高:
三次错误之后提示用户三次机会已用完
问他是否继续 如果继续则再给三次机会
如果不继续则直接退出
"""
代码:
"""
编写程序先编写程序的主题功能
然后再考虑完善
"""
age = 18
# 定义一个记录用户次数的变量
count = 0
# 猜年龄
while True:
# 先判断用户当前是第几次尝试 如果已经三次 提示用户
if count == 3:
print('你已经尝试三次了')
choice = input('您已经尝试三次了 是否还想继续(y/n)>>>:')
# 判断用户是想继续还是放弃
if choice == 'y':
count = 0 # 将用户尝试的次数清零
else:
print('欢迎下次再来哟!!!')
break
guess_age = input('请输入您的年龄>>>:')
# 将字符串的数字转为整型的数字
guess_age = int(guess_age) # 暂且忽略
if guess_age > age:
print('猜大了')
count += 1 # 加一次
elif guess_age < age:
print('猜小了')
count += 1 # 加一次
else:
print('你真棒!!!')
break

浙公网安备 33010602011771号