【python基础】第07回 运算符和流程控制 2
本章内容概要
1.逻辑运算符补充
2.循环结构
本章内容详解
1.逻辑运算符补充
两边都不为0的情况 or 直接取前面的值 and 直接取后面的值
如果存在0的情况 and 直接取0 or 直接取非0
print( 1 == 2 and 3) # False print(10 > 3 and 100) # 100 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(0 and 2) # 0 print(0 and 2 and 1) # 0 print(1 == 1 or 111) # True print(1 or 10 > 20) # 1 print(10 or 100) # 10 print(0 and 2 or 1) # 1 print(0 and 2 or 1 or 4) # 1 print(0 or False and 1) # False print(0 and 1 or 2 or 3 and 4) # 2 print(0 and 1 or 2 and 3 or 4) # 3
print(1 == 2) # False # 连接的条件 如果不是一个具体的值 则需要自动转换成布尔值 print(10 > 3 and 100) # 100
'''
由于and前面的运算得出的布尔值是True 所以and连接的条件最终的结果取决于后面的 如果后面的值是明确的数据值 那么直接返回该数据值(数据值对应的布尔值必须是True) and和or连接的多个条件在返回具体结果的时候可能是布尔值也可能是数据值 我们在日常写代码的时候不需要纠结具体返回的是什么 直接当成布尔值处理
'''
2.循环结构
什么是循环结构?
循环结构就是重复执行末段代码块。
2.1 循环结构这while循环
while 判断条件: 执行的子代码 执行语句可以是单个语句或语句块。判断条件可以是任何表达式,任何非零、或非空(null)的值均为true。 当判断条件假 false 时,循环结束。
流程图
1.先判断while后面的条件是否成立 如果成立则执行子代码
2.子代码运行完毕之后 再次回到while后面的条件判断处 判断条件是否成立
3.如果成立则继续运行子代码 完毕后再次判断while后面的条件是否成立
4.依次往复 直到条件不成立才会结束
例1:
while True: username = input("username>>:") password = input("password>>:") if username == 'zhang' and password == '123': print("成功") else: print("失败")
# 条件为True 无限循环
2.2 whlie+break
结束循环体的方式
1.自己写结束条件 利用while后面的条件判断
2.在循环体代码中添加关键字强制结束
例2:
count = 1 while count < 4: print(count) count += 1
# 有循环条件 count < 4,所以输出的结果只有 1,2,3
例3:
while True: username = input("username>>:") password = input("password>>:") if username == 'zhang' and password == '123': print("成功") break else: print("失败")
# 输入正确用户和密码 break强制结束
流程图
验证一个break只能结束它所在那一层的循环体代码
while True: print('我是外层的循环') while True: print('我是内层的循环') break break
2.3 whlie+continue
continue 代表着结束本次循环,直接进入下一次循环
例4;
2.4 whlie+else
在while循环的后面,我们可以跟else语句,当while 循环正常执行完并且中间没有被break 中止的话,就会执行else后面的语句
count = 1 while count < 5: print(count) count += 1 else: print('循环体按照提前定义好的条件正常结束 则会执行')
count = 1 while count < 5: print(count) if count == 3: break count += 1 else: print('循环体按照提前定义好的条件正常结束 则会执行')
2.5 死循环与全局标志位
死循环,计算死循环 不允许出现 有问题,有等待时间 允许出现 没有问题
1.死循环 count = 10 while True: count *= 10 # 计算死循环 不允许出现 有问题 while True: name = input('name>>>:') # 有等待时间 允许出现 没有问题
全局标志位,运用在循环嵌套中,把break省写
while True: print(123) while True: print(321) while True: print(222) break break break
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.编写一个用户登录程序
用户如果登录失败 则只能尝试三次
用户如果登录成功 则直接结束程序
# 定义初始次数 1 写循环语句 < 4 只能执行三次 输出写在循环里 if判断 用户密码正确结束 错误 count + 1 在循环 count = 1 while count < 4: username = input("username>>:") password = input("password>>:") if username == "zhang" and password == "123": print("登录成功") break else: print("用户名或密码错误") count += 1
3.编写一个用户登录程序
用户如果登录失败 可以无限制尝试
用户如果登录成功 则进入内层循环 获取用户输入的指令 并打印该指令
eg: 用户输入cmd指令 则程序打印'正在执行您的指令:cmd'
给用户提供一个退出命令 用户一旦输入则退出这个程序
eg: 用户输入q指令 则程序先打印该指令再结束
# 1.写登录,成功结束,失败无限尝试 # 2.进入内循环 q 结束 count = True while count: username = input("username>>:") password = input("password>>:") if username == 'zhang' and password == '123': print("登录成功") while count: order = input("请输入指令:") info = "正在执行您的指令:%s" print(info % order) if order == 'q': break break else: print("用户名或密码错误")
4.编写猜年龄的游戏(拔高练习 尝试编写)
用户有三次猜测的机会 如果用完则提示用户是否继续尝试
用户输入y则继续给三次机会 如果用户输入q则直接结束程序
# 1. 先写最多执行三次 # 2. 判断是否已经执行三次 count = 1 while count < 4: age = input("请输入猜测年龄:") if age == '18': print("恭喜您答正确") break else: print("回答错误,请再次尝试") count += 1 if count > 3: print("是否继续尝试") again = input("填y继续答题,填q结束答题:") if again == 'y': count = 1 else: break
分类:
python 基础
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)