今日内容整合6.22
今日内容整合
逻辑运算符补充知识
and补充知识点
- and如果链接的条件不是一个具体的值,那么它显示出来的结果会自动转成布尔值。
# 示例:
print(1 == 2 and 3) # False
print(10 > 3 and 100) # 100
print(100 and 10 > 3) # True
- 如果and前面的运算得出的布尔值是True 那么and连接的条件最终的结果取决于后面的
如果后面的值是明确的数据值 那么直接返回该数据值,数据值对应的布尔值必须是True
# 示例:
print(1 == 1 and 2 == 2) # True
print(1 == 1 and False) # False
print(True and 1 == 1) # True
print(1 and 10) # 10
print(3 < 5 and 8 and 0) # 0
print(3 < 5 and 8 and 5 > 8) # False
- or运算符也是如此。
# 示例:
print(1 == 1 or 111) # True
print(1 or 10 > 20) # 1
print(10 or 100) # 10
- and和or连接的多个条件在返回具体结果的时候可能是布尔值也可能是数据值,我们不需要纠结这些不管返回的是True 还是False或者数据值他们都是布尔值直接认定究竟是True或者False即可。
循环结构之while循环
while 条件: (判断条件是否成立)
子代码(条件成立之后循环执行的子代码)
1.首先先判断while后面的条件是否成立 如果成立则立即执行它下级的子代码。子代码执行完毕之后,会再次回到while后面的条件判断处。
2.判断条件是否成立,如果成立则继续运行子代码,完毕后再次判断while后面的条件是否 成立。依次往复,直到条件不成立才会结束。
"""这是一个无限循环的代码,因为它的条件是个True代码中也没有设定更改条件不成立,并且还没有添加结束代码所以它会无限循环下去。"""
# 示例:
while True:
name = input('name>>>:')
pwd = input('pwd>>>:')
if name == 'jason' and pwd == '123':
print('登录成功')
else:
print('用户名或密码错误')
# 可以给代码设定一个计数器
count = 1 # 定义一个变量名把数字1绑定给他
while count < 4: # 判断count是否小于4,条件成立运行子代码。
print(123) # 子代码打印123
count += 1 # 将count的数据值+1
# 如上代码当while循环运行3次后count数据值变成4条件不成立便会结束此代码。
while+break
结束循环体的方式
1.自己添加结束条件,利用while后面的条件判断更改条件结束!
2.在循环体代码中添加关键字强制结束。
# break只会结束它所在的那层循环体。
# 示例:
while True:
name = input('name>>>:')
pwd = input('pwd>>>:')
if name == 'jason' and pwd == '123':
print('登录成功')
# 强制结束
break # 直接结束break所在的循环体 (结束本层循环)
else:
print('用户名或密码错误')
# 验证一个break只能结束它所在那一层的循环体代码
while True:
print('我是外层的循环')
while True:
print('我是内层的循环')
break
break
while+continue
continue只会结束本层循环,它下面的同级别代码会被忽视掉,直接开始下一次循环也只影响所在的那一层循环!
# 循环打印1到10然后,我想打印到7就跳过去。
# 示例1:
count = 1
while count < 11:
if count == 7:
count += 1 # 让count自增1
continue # 跳过本次循环 直接重新开始下一次循环
print(count)
count += 1
# continue只会结束本层循环,直接开始下一次循环。
# 示例2:
while True:
print(123)
while True:
print(321)
continue
continue
# 打印结果 123、321、321、321...... while+else
while+else
else跟我们学的if判断中的else一样它也可以用在while里面。
条件不成立和循环体按照提前定义好的条件正常结束它就会执行。
# 示例:
count = 1
while count < 11:
print(count)
if count == 7:
break
count += 1
else:
print('循环体按照提前定义好的条件正常结束 则会执行')
死循环与全局标志位
- 死循环
# 示例:
count = 10
while True:
count *= 10 # 计算死循环 不允许出现 有问题对CPU影响非常大!!!
while True:
name = input('name>>>:') # 有等待时间 允许出现 没有问题
- 全局标志位
# 示例:
flag = True
while flag:
print(123)
while flag:
print(321)
while flag:
print(222)
flag = False
今日作业完成如下:
1.准确说出下列判断的结果(不要执行代码)
v1 = 1 or 3 # 1
v2 = 1 and 3 # 3
v3 = 0 and 2 and 1 # 0
v4 = 0 and 2 or 1 # 1
v5 = 0 and 2 or 1 or 4 # 1
v6 = 0 or False and 1 # False
# .2..编写一个用户登录程序
# 用户如果登录失败 则只能尝试三次
# 用户如果登录成功 则直接结束程序\
count1 = 1
while count1 < 4:
name = input("请输入你的用户名:")
password = int(input("请输入你的密码:"))
if name == 'jason' and password == 123: # 用户输入的密码仅限于数字
print("登录成功!")
break
else:
print("账号密码错误,请重新输入!")
count1 += 1
# 3..编写一个用户登录程序
# 用户如果登录失败 可以无限制尝试
# 用户如果登录成功 则进入内层循环 获取用户输入的指令 并打印该指令
# eg: 用户输入cmd指令 则程序打印'正在执行您的指令:cmd'
# 给用户提供一个退出命令 用户一旦输入则退出这个程序
# eg: 用户输入q指令 则程序先打印该指令再结束
flag_bit = True
while flag_bit:
name = input("请输入你的用户名:")
password = int(input("请输入你的密码:"))
if name == 'jason' and password == 123: # 用户输入的密码仅限于数字
print("登录成功!")
while flag_bit:
command1 = input("请输入你需要执行的命令")
print("正在执行%s命令" % command1)
if command1 == 'q':
flag_bit = False
else:
print("账号密码错误,请重新输入!")
# 4.编写猜年龄的游戏(拔高练习 尝试编写)
# 用户有三次猜测的机会 如果用完则提示用户是否继续尝试
# 用户输入y则继续给三次机会 如果用户输入q则直接结束程序
age1 = 20
count1 = 1
while count1 < 4:
age = int(input("猜猜我的年龄:"))
count1 += 1
if age == age1:
print("恭喜你猜对了!!!")
break
while count1 == 4:
choice = input("请输入你的选择y继续游戏,q退出游戏 :")
if choice == 'q':
break
elif choice == 'y':
print("继续游戏!")
count1 = 1
break
else:
print("猜错了!!")
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)