逻辑运算符的补充
- and 如果不是一个具体的值 需要自动转成布尔值 print(5 == 7 and 8) # False 由于and前面的运算得出的值是布尔值Ture所以and链接的条件最后的结果取决于最后面的值 如果后面的值是非常明确的 那就直接返回数据值 肯定是Ture
- or and和or链接的多个条件在返回的结果的时候可能是布尔值也有可能是数据值 在以后写代码的时候不用去考虑返回的是什么直接当成布尔值。
- not 这个结果是个布尔值
循环结构 while的循环
while
- 在while成立后循环的子代码
- 先判断while后面的条件是否成立 如果成立则执行子代码
- 子代码运行完毕之后 再次回到while后面的条件判断处 判断条件是否成立
- 如果成立则继续运行子代码 完毕后再次判断while后面的条件是否成立
- 一直重复到条件不萌成立才结束的
while+break
-
在写结束条件的时候利用while后面的条件进行判断
-
在循环代码中添加关键字进行强制结束 while True:
name = input('name>>>:')
pwd = input('pwd>>>:')
if name == 'jason' and pwd == '123':
print('登录成功') # 强制结束 break # 直接结束break所在的循环体 (结束本层 循环)else:
print('用户名或密码错误')
while+continue
- 结束本次循环,即跳出循环体中下面尚未执行的语句。
- continue跳过当前循环的剩余语句,然后继续进行下一轮循环
while+else
- 用于整个代码中的结尾
count = 1
while count < 11:
print(count)
if count == 7:
break
count += 1
else: print('///')
死循环与全局标志位
- 死循环 是一个无法结束循环的 会一直持续下去
- 全局标志位
作业
1.准确说出下列判断的结果(不要执行代码) v1 = 1 or 3 v2 = 1 and 3 v3 = 0 and 2 and 1 v4 = 0 and 2 or 1 v5 = 0 and 2 or 1 or 4 v6 = 0 or False and 1
准确说出下列判断的结果(不要执行代码) v1 = 1 or 3 # Ture v2 = 1 and 3 # ture v3 = 0 and 2 and 1 3 False v4 = 0 and 2 or 1 # False v5 = 0 and 2 or 1 or 4 ture v6 = 0 or False and 1 # False
2.编写一个用户登录程序 用户如果登录失败 则只能尝试三次 用户如果登录成功 则直接结束程序
3.编写一个用户登录程序 用户如果登录失败 可以无限制尝试 用户如果登录成功 则进入内层循环 获取用户输入的指令 并打印该指令 eg: 用户输入cmd指令 则程序打印'正在执行您的指令:cmd' 给用户提供一个退出命令 用户一旦输入则退出这个程序 eg: 用户输入q指令 则程序先打印该指令再结束
4.编写猜年龄的游戏(拔高练习 尝试编写) 用户有三次猜测的机会 如果用完则提示用户是否继续尝试 用户输入y则继续给三次机会 如果用户输入q则直接结束程序