本章内容概要

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;
count = 1
while count < 11:
if count == 7:
# 让count自增1
count += 1
# 跳过本次循环 直接开始下一次循环
continue
print(count)
count += 1

流程图

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基础】第07回 运算符和流程控制 2的更多相关文章

  1. 【python基础】第06回 运算符和流程控制 1

    本章内容概要 1.运算符 2.流程控制 本章内容详解 1.运算符 什么是运算符? 运算符用于执行程序代码运算,会针对一个以上操作数项目来进行运算.例如:2+3,其操作数是2和3,而运算符则是" ...

  2. 『Python基础』第6节:流程控制之while循环

    在生活中经常遇到循环的事情, 比如循环列表播放歌曲等. 在Python中, 也有循环, 就是其流程控制语句while. 1. 基本循环 while 条件: 循环体 # 如果条件为真, 那么就执行循环体 ...

  3. Python基础一(格式化输出、流程控制)

    (1)格式化输出(%% 第一个% 转译) # 格式化 输入 输出 name = input("Name:") age = input("Age:") job = ...

  4. python基础02—运算符与流程控制

    运算符与流程控制 运算符 赋值运算 用'='表示,'='的左边只能是变量 算术运算 +.-.*:加.减.乘 /:除法运算,运算结果为浮点数 //:除法运算,运算结果为整数(商) %:求余 **:求幂 ...

  5. Linux基础-shell脚本知识整理和脚本编写----------变量、运算符、流程控制、函数、计划任务(发送邮件)

    I:知识整理:变量.运算符.流程控制.函数.计划任务 变量 系统变量:set:显示所有变量                env:环境变量 常用系统变量: path pwd lang home his ...

  6. Python基础篇(格式化输出,运算符,编码):

    Python基础篇(格式化输出,运算符,编码): 格式化输出: 格式:print ( " 内容%s" %(变量)) 字符类型: %s  替换字符串      %d 替换整体数字  ...

  7. 第二十二节:Java语言基础-详细讲解位运算符与流程控制语句

    位运算符(二进制位运算) 运算符 运算 例子 << 左移 3 << 2 = 12 --> 3 * 2 * 2 =12 >> 右移 3 >> 1 = ...

  8. python 运算符与流程控制

    运算符与流程控制 运算符 赋值运算 用'='表示,'='的左边只能是变量 算术运算 +.-.*:加.减.乘 /:除法运算,运算结果为浮点数 //:除法运算,运算结果为整数(商) %:求余 **:求幂 ...

  9. 格式化输出的三种方式,运算符及流程控制之if判断

    ''' 格式化输出的三种方式,运算符及流程控制之if判断 ''' # 格式化输出的三种方式 # 一.占位符 程序中经常会有这样场景:要求用户输入信息,然后打印成固定的格式 比如要求用户输入用户名和年龄 ...

随机推荐

  1. docker基础_网络模式

    docker网络 网络模式: bridge:docker默认 自己创建会默认使用bridge模式 类似vmware中的NAT模式 其中192.168.1.203是本机在现实世界局域网的ip.172.1 ...

  2. RecyclerView + SQLite 简易备忘录-----上

    先看效果 图一只是做了简单的页面,没有连接数据库,刚写完页面才想起备忘录好像不需要登录------但用SharedPreferences写了个记住密码. 图二是主页面,实现了搜索,添加,删除,修改几个 ...

  3. 如何配置JAVA环境并安装IEAD软件

    安装IDEA软件之前需要做哪些准备? 在安装IDEA软件之前,需要先确定电脑中有没有JDK,如果没有需要先安装JDK. JDK是整个JAVA的核心,包括了Java运行环境,Java工具(javac/j ...

  4. 6.1 SHELL脚本

    6.1 SHELL脚本元素 第一行的脚本声明(#!)用来告诉系统使用哪种Shell解释器来执行该脚本: 第二行的注释信息(#)是对脚本功能和某些命令的介绍信息,使得自己或他人在日后看到这个脚本内容时, ...

  5. [AcWing 32] 调整数组顺序使奇数位于偶数前面

    点击查看代码 class Solution { public: void reOrderArray(vector<int> &array) { int i = 0, j = arr ...

  6. 团队Beta1

    队名:观光队 链接 组长博客 作业博客 组员实践情况 王耀鑫 **过去两天完成了哪些任务 ** 文字/口头描述 任务分配 展示GitHub当日代码/文档签入记录 接下来的计划 完成短租车,页面美化 * ...

  7. 基本命令学习 -(3)Linux压缩和解压缩命令汇总

    关注「开源Linux」,选择"设为星标" 回复「学习」,有我为您特别筛选的学习资料~ 前言 Linux下的压缩和解压缩工具比较多,有时经常记不住,这里给大家汇总一下,方便大家查阅. ...

  8. S3C2410——LED灯实验

    一.S3C2410输入/输出的原理 Linux主要有字符设备.块设备和网络设备3类驱动程序,我们一般编写的驱动都是字符设备驱动程序. 二.程序部分 编写程序控制3个LED灯,代码分为2个部分:控制LE ...

  9. vue - Vue中的ajax

    只有在ajax才能找回一点点主场了,vue中的ajax一天整完,内容还行,主要是对axios的运用. 明天按理说要开始vuex了,这个从来都是只耳闻没有眼见过,明天来看看看看是个什么神奇的东西. 一. ...

  10. GitHub 毕业年鉴「GitHub 热点速览 v.22.20」

    GitHub 毕业需要什么呢?一个 PR!那么提交一个 PR 需要什么?也许你是使用终端命令来提交 git 操作的,那么你可以了解下 Bash-Oneliner,收录了大量好用的 bash 命令,虽然 ...