【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 代表着结束本次循环,直接进入下一次循环
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的更多相关文章
- 【python基础】第06回 运算符和流程控制 1
本章内容概要 1.运算符 2.流程控制 本章内容详解 1.运算符 什么是运算符? 运算符用于执行程序代码运算,会针对一个以上操作数项目来进行运算.例如:2+3,其操作数是2和3,而运算符则是" ...
- 『Python基础』第6节:流程控制之while循环
在生活中经常遇到循环的事情, 比如循环列表播放歌曲等. 在Python中, 也有循环, 就是其流程控制语句while. 1. 基本循环 while 条件: 循环体 # 如果条件为真, 那么就执行循环体 ...
- Python基础一(格式化输出、流程控制)
(1)格式化输出(%% 第一个% 转译) # 格式化 输入 输出 name = input("Name:") age = input("Age:") job = ...
- python基础02—运算符与流程控制
运算符与流程控制 运算符 赋值运算 用'='表示,'='的左边只能是变量 算术运算 +.-.*:加.减.乘 /:除法运算,运算结果为浮点数 //:除法运算,运算结果为整数(商) %:求余 **:求幂 ...
- Linux基础-shell脚本知识整理和脚本编写----------变量、运算符、流程控制、函数、计划任务(发送邮件)
I:知识整理:变量.运算符.流程控制.函数.计划任务 变量 系统变量:set:显示所有变量 env:环境变量 常用系统变量: path pwd lang home his ...
- Python基础篇(格式化输出,运算符,编码):
Python基础篇(格式化输出,运算符,编码): 格式化输出: 格式:print ( " 内容%s" %(变量)) 字符类型: %s 替换字符串 %d 替换整体数字 ...
- 第二十二节:Java语言基础-详细讲解位运算符与流程控制语句
位运算符(二进制位运算) 运算符 运算 例子 << 左移 3 << 2 = 12 --> 3 * 2 * 2 =12 >> 右移 3 >> 1 = ...
- python 运算符与流程控制
运算符与流程控制 运算符 赋值运算 用'='表示,'='的左边只能是变量 算术运算 +.-.*:加.减.乘 /:除法运算,运算结果为浮点数 //:除法运算,运算结果为整数(商) %:求余 **:求幂 ...
- 格式化输出的三种方式,运算符及流程控制之if判断
''' 格式化输出的三种方式,运算符及流程控制之if判断 ''' # 格式化输出的三种方式 # 一.占位符 程序中经常会有这样场景:要求用户输入信息,然后打印成固定的格式 比如要求用户输入用户名和年龄 ...
随机推荐
- go interface{}使用
先上代码 func In(haystack []interface{}, needle interface{}) (bool, error) { sVal := reflect.ValueOf(hay ...
- k8s入门之集群搭建(二)
一.准备三台节点 从上篇文章 k8s入门之基础环境准备(一)安装的Ubuntu虚拟机克隆出三台虚拟机,如图所示 启动这三台虚拟机节点,分别做如下配置 虚拟机名称 IP HostName k8sMast ...
- Go 语言 结构体和方法
@ 目录 1. 结构体别名定义 2. 工厂模式 3. Tag 原信息 4. 匿名字段 5. 方法 1. 结构体别名定义 变量别名定义 package main import "fmt&quo ...
- 数据库基础知识详解五:MySQL中的索引和其两种引擎、主从复制以及关系型/非关系型数据库
1.MySQL中的索引 在MySQL,索引是由B+树实现的,B+是一种与B树十分类似的数据结构. 形如下面这种: 其结构特点: (1)有n课子树的结点中含有n个关键码. (2)非根节点子节点数: ce ...
- 终于有人把云计算、大数据和 AI 讲明白了【深度好文】
一个执着于技术的公众号 我今天要讲这三个话题,一个是云计算,一个大数据,一个人工智能,我为什么要讲这三个东西呢?因为这三个东西现在非常非常的火,它们之间好像互相有关系,一般谈云计算的时候也会提到大数据 ...
- Swift服务的基本使用
swift概述 Swift 最初是由Rackspace公司开发的高可用分布式对象存储服务,并于2010年贡献给OpenStack开源社区作为其最初的核心子项目之一,为其Nova子项目提供虚机镜像存储服 ...
- 那些我懵懵懂懂的js
1.this 如果说this是代表当前对象,而js中,除原始值(var str = "Leonie",值Leonie是不能改变的,它就是一个字符串,如var num = 4, 4也 ...
- C# WPF后台动态添加控件(经典)
概述 在Winform中从后台添加控件相对比较容易,但是在WPF中,我们知道界面是通过XAML编写的,如何把后台写好的控件动态添加到前台呢?本节举例介绍这个问题. 这里要用到UniformGrid布局 ...
- CentOS7防火墙firewalld的配置
开机启动的开启与禁止 # 开机启动 systemctl enable firewalld # 禁止开机启动 systemctl disable firewalld 基本操作 # 查看状态 system ...
- 安装Zabbix到Ubuntu(APT)
运行环境 系统版本:Ubuntu 16.04.2 LTS 软件版本:Zabbix-4.0.2 硬件要求:无 安装过程 1.安装APT-Zabbix存储库 APT-Zabbix存储库由Zabbix官网提 ...