【Python】语言的控制流程
二、Python语言的控制流程
1、程序的组织结构
1.1 顺序结构:从上到下顺序的执行代码,直到程序结束,没有任何判断和跳转
1.2 选择结构:根据判断条件的布尔值选择性的执行部分代码:if语句
1.3 循环结构:while语句和for-in语句
2、对象的布尔值
2.1 python中一切皆对象,所有对象都有布尔值,可以通过bool()来获取
2.2 以下对象布尔值均为False:False,数值0,None,空字符串,空列表,空元组,空字典,空集合
# 测试对象的布尔值,以下对象均为False,除此之外均为True
print(bool(False))
print(bool(0))
print(bool(0.0))
print(bool(None))
print(bool('')) # 空字符串
print(bool("")) # 空字符串
print(bool([])) # 空列表
print(bool(list())) # 空列表
print(bool(())) # 空元组
print(bool(tuple())) # 空元组
print(bool({})) # 空字典
print(bool(dict())) # 空字典
print(bool(set())) # 空集合
3、选择结构
3.1 需要明确的让程序知道在什么条件下执行什么内容。
3.2 单分支结构
语法结构:
if 条件表达式:
条件执行体
# 单分支结构
money = 100
s = int(input('请输入金额:'))
if money >= s:
money = money - s
print('余额为:', money)
3.3 双分支结构
语法结构:
if 条件表达式:
条件执行体1
else:
条件执行体2
# 双分支结构:键盘输入一个整数,判断是奇数还是偶数
num = int(input('请输入一个整数:'))
if num % 2 == 0:
print(num, '这是一个偶数!')
else:
print(num, '这是一个奇数!!')
3.4 多分支结构
语法结构:
if 条件表达式1:
条件执行体1
elif 条件表达式2:
条件执行体2
elif 条件表达式3:
条件执行体3
else:
条件执行体其他
# 多分支结构:输入一个整数成绩,判断成绩的范围
score = int(input('请输入一个整数成绩:'))
if score>=90 and score<=100:
print('A级')
elif score>=80 and score<=89:
print('B级')
elif 70<=score<=79: #python中可以按照数学格式来写,但是其他语言不行
print('C级')
elif 60<=score<=69:
print('D级')
elif score>=0 and score<=59:
print('E级')
else:
print('成绩输入不正确!!')
3.5 嵌套if
语法结构:
if 条件表达式1:
if 内嵌条件表达式:
内层条件执行体a
else:
内层条件执行体b
else:
条件执行体
# 嵌套if:输入一个金额,进行会员非会员的判断
answer = input('您是会员么?y/n')
money = float(input('输入您的购物金额:'))
if answer == 'y':
if money >= 200:
print('付款金额为:', money * 0.8)
elif money >= 100:
print('付款金额为:', money * 0.9)
else:
print('商品不打折', money)
else: # 非会员
if money >= 200:
print('付款金额为:', money * 0.95)
else:
print('商品不打折', money)
3.6 条件表达式:if...else的简写
语法结构:
x if 判断条件 else y
如果判断条件为True,则返回x,如果判断条件是False,返回y
# 条件表达式:键盘输入两个整数,比较大小
num_a = int(input('请输入第一个整数:'))
num_b = int(input('请输入第二个整数:'))
print(num_a, '大于', num_b) if num_a >= num_b else print(num_a, '小于', num_b) # ==> 3 小于 4
print(str(num_a)+'大于'+str(num_b) if num_a >= num_b else str(num_a)+'小于'+str(num_b)) # ==> 3小于4
3.7 pass语句
① 语句什么都不做,只是一个占位符,用在语法上需要的地方
② 什么时候用:先搭建语法结构,还没想好代码如何写的时候
③ 可以和什么语句一起用:if语句的条件执行体,for-in语句的循环体,定义函数时的函数体
# pass语句练习
answer = input('您是会员么?y/n')
if answer=='y':
pass
else:
pass
4、range()函数
4.1 用于生成一个整数序列
4.2 创建方式
① range(stop):创建一个(0,stop)之间的整数序列,步长为1
② range(start,stop):创建一个(start,stop)之间的整数序列,步长为1
③ range(start,stop,step):创建一个(start,stop)之间的整数序列,步长为step
# range()函数的创建方式
r = range(10)
print(r) # ==>range(0, 10)
print(list(r)) # ==>[0, 1, 2, 3, 4, 5, 6, 7, 8, 9] # 用于查看range对象中的整数序列,默认步长为1
r2 = range(1, 10)
print(list(r2)) # ==>[1, 2, 3, 4, 5, 6, 7, 8, 9]
r3 = range(1, 10, 2)
print(list(r3)) # ==>[1, 3, 5, 7, 9]
4.3 返回值:是一个迭代器对象(没有办法看到具体数据)
4.4 优点:不管range对象表示的整数序列有多长,所有range对象占用的内存空间都是相同的,因为仅仅需要存储start,stop和step,只有当用到range对象时,才回去审计序列中的相关元素
4.5 使用in与not in判断整数序列中是否存在/不存在指定的整数
# 判断指定元素是否存在range()中
r = range(10)
print(10 in r) # ==>False
print(9 in r) # ==>True
print(11 not in r) # ==>True
5、循环结构
5.1 定义:反复做同一件事情
5.2 循环的分类:while循环,for-in循环
5.3 选择结构if和循环结构while的区别
① if是判断一次,条件为True执行一次
② while是判断N+1次,条件为True执行N次
5.4 while语法结构
while 条件表达式:
条件执行体(循环体)
5.5 while循环:四步循环法
① 初始化变量
② 条件判断
③ 条件执行体(循环体)
④ 改变变量
总之:初始化的变量与条件判断的变量与改变的变量为同一个
# while循环计算0到4之间的累加和
a = 0
sum = 0
while a < 5:
sum = sum + a
a += 1
print('0到4之间的累加和为:', sum) # 计算1-100之间的偶数和
a = 1
sum = 0
while a <= 100:
if not a % 2: # 0 的布尔值为False,求偶数和需要求反 # if a % 2 == 0: # 这是求偶数的和
sum += a
a += 1
print("计算1-100之间的偶数和", sum)
5.6 for-in循环
① in表示从(字符串,序列等)中依次取值,又称为遍历
② for-in遍历的对象必须是可迭代对象
③ 语法结构:
for 自定义的变量 in 可迭代对象:
循环体
④ 循环体内不需要访问自定义变量,可以将自定义变量替换为下划线
# 遍历取出每个对象
for item in 'python':
print(item) # range() 产生一个整数序列,也是可迭代对象
for i in range(10):
print(i) # 如果不需要使用自定义变量,可将自定义变量些为 _
for _ in range(5):
print('python学习') # 这行文字会被输出5遍 # 使用for循环计算1-100之间的偶数和
sum = 0
for item in range(1, 101):
if item % 2 == 0:
sum += item
print('1-100之间的偶数和为:', sum) # 输出100-999之间的水仙花数(比如:153 = 3*3*3 + 5*5*5 + 1*1*1)
for item in range(100, 1000):
ge = item % 10 # 个位
shi = item // 10 % 10 # 十位
bai = item // 100 # 百位
if ge**3 + shi**3 + bai**3 == item:
print('这是一个水仙花', item)
6、流程控制语句break
6.1 用于结束循环结构(直接退出循环),通常与if一起使用
6.2 练习题
# 从键盘录入密码,最多3次,如果正确就结束循环
# 方式一:
for item in range(3):
pwd = input('请输入密码:')
if pwd == '888888':
print('密码正确')
break
else:
print('密码不正确!!')
# 方式二:
a = 0
while a < 3:
pwd = input('请输入密码:')
if pwd == '888888':
print('密码正确')
break
else:
print('密码不正确!!')
a += 1
7、流程控制语句continue
7.1 用于结束当前循环,进入下一次循环,通常和if一起使用
7.2 练习题
# 要求输出1-50之间输出所有5的倍数
for item in range(1, 51):
if item % 5 == 0:
print(item) # 要求使用continue
for item in range(1, 51):
if item % 5 != 0:
continue
print(item)
8、else语句
8.1 使用场景
① if条件不成立的时候使用else
② while和for-in中没有碰到break时执行else
8.2 练习题
# 从键盘录入密码,最多3次,如果正确就结束循环
# 方式一:
for item in range(3):
pwd = input('请输入密码:')
if pwd == '888888':
print('密码正确')
break
else:
print('密码不正确!!')
else:
print('3次机会用完') # 方式二:
a = 0
while a < 3:
pwd = input('请输入密码:')
if pwd == '888888':
print('密码正确')
break
else:
print('密码不正确!!')
a += 1
else:
print('3次机会用完')
9、嵌套循环
9.1 循环结构中又嵌套了另外的完整的循环结构,其中内层循环为外层循环的循环体来执行
9.2 练习题
# 输出三行四列的矩形
for i in range(1, 4): # 表示行数,执行三次,一次是一行
for j in range(1, 5):
print('*', end='\t') # 不换行输出
print() # 换行 # 打印直角三角形
for i in range(1, 10):
for j in range(i):
print('*', end='')
print() # 打印九九乘法表
for i in range(1, 10):
for j in range(i):
print(i, '*', j, '=', i*j, end='\t')
print()
10、二重循环中的break和continue
10.1 二重循环中的break和continue用于控制本层循环
10.2 学习下面的循环输出的结果
# break
for i in range(5):
for j in range(1, 11):
if j % 2 == 0:
break
print(j)
# continue
for i in range(5):
for j in range(1, 11):
if j % 2 == 0:
continue
print(j, end='\t')
print()
【Python】语言的控制流程的更多相关文章
- Python第四天 流程控制 if else条件判断 for循环 while循环
Python第四天 流程控制 if else条件判断 for循环 while循环 目录 Pycharm使用技巧(转载) Python第一天 安装 shell 文件 Python第二天 ...
- Go语言基础之流程控制
Go语言基础之流程控制 流程控制是每种编程语言控制逻辑走向和执行次序的重要部分,流程控制可以说是一门语言的“经脉”. Go语言中最常用额流程控制有if和for,而switch和goto主要是为了简化代 ...
- Go语言 数据类型,流程控制
Go语言 数据类型,流程控制 人生苦短,Let's Go ! package main // 必须要有一个main包 import "fmt" func main() { fmt. ...
- Python+selenium测试环境成功搭建,简单控制浏览器(firefox)接下来,继续学习其他浏览器上的测试环境搭建;学习Python语言,利用Python语言来写测试用例。加油!!!
Python+selenium测试环境成功搭建,简单控制浏览器(firefox)接下来,继续学习其他浏览器上的测试环境搭建:学习Python语言,利用Python语言来写测试用例.加油!!!
- python语法入门之流程控制
python语法入门之流程控制 流程控制是指控制流程,具体指控制程序执行的流程. 流程控制分为三种: 1.顺序结构 程序从上而下的正常执行(正常执行的代码就是顺序结构) 2.分支结构 赋予程序人的思维 ...
- Python分支结构与流程控制
Python分支结构与流程控制 分支结构 if 语句 分支结构在任何编程语言中都是至关重要的一环,它最主要的目的是让计算机拥有像人一样的思想,能在不同的情况下做出不同的应对方案,所以if语句不管是在什 ...
- python基础之打/解包及运算符与控制流程
python基础之打/解包及运算符与控制流程 python中的解压缩(即序列类型的打包和解包) python提供了两个设计元祖和其他序列类型的处理的便利,也就是自动打包与自动解包功能,比如: data ...
- GO语言学习——Go语言基础之流程控制一
Go语言基础之流程控制 if else(分支结构) package main import "fmt" // if条件判断 func main(){ // age := 19 // ...
- Python基础——数据类型、流程控制、常用函数
Python tutorial :Python网站上的对 Python 语言和系统的基本概念和功能进行的非正式的介绍. 在学习Python之前,我们需要学会在各个平台配置Python的运行环境,下文中 ...
- Python语言控制运算的优先级
Python语言碰上计算式同时出现在一个指令内时,除了括号"(".")"最优外,其余计算优先次序如下: 次方(**). 乘法.除法.求余数(%).求整数(//) ...
随机推荐
- Socket:由于系统缓冲区空间不足或队列已满,不能执行套接字上的操作
https://blog.csdn.net/weixin_45932157/article/details/113999801 最近服务器的Socket代理软件经常报这个错误:log:Error On ...
- N63050 第十周运维作业
十九.VPN服务 1.firewalld和最新技术nft实现防火墙功能(65分钟) 2.open-v-p-n介绍和环境准备(48分钟) 3.open-v-p-n实现CA证书(45分钟) 4.open- ...
- Vue CLI 2内置框架webpack框架结构解析
目前Vue已经到3.X版本,相应的Vue CLI也已经是Vue CLI 3版本,创建命令使用vue create,如果要用2.X版的vue init命令,需要全局安装一个桥接工具: npm insta ...
- linux安装datax +datax-web踩坑总结
一丶安装datax 环境:JDK8+ py2.7+ 下载地址:http://datax-opensource.oss-cn-hangzhou.aliyuncs.com/datax.tar.gz ...
- mysql主从故障跳过错误
mysql主从故障跳过错误1.从库报错 21,22,23,25无法执行Retrieved_Gtid_Set: 265c6c2a-86ca-11ed-b07a-0242ac120002:1-25Exec ...
- doskey: windows版 Alias
1.编辑doskey.bat文件 2.打开注册表寻找.HKEY_CURRENT_USER \ Software \ Microsoft \ Command Processor (自行百度) 3.添加d ...
- 获取Java运行环境信息
设备相关信息 获取设备名称 import java.net.InetAddress; import java.net.UnknownHostException; try { InetAddress l ...
- 容器 之搭建 jenkins ci 平台
1 部署 gitlab docker run -d \ --name gitlab \ -p 8443:443 \ -p 80:80 \ -p 9998:22 \ -v $PWD/config:/et ...
- Power shell 读取电量,改变屏幕亮度
1. Get-Wmiobject -List win32* # 列出所有win32_信息(基本的BIOS,Battery , Memory, processor) 2.Get-WmiObject ...
- 图片上传插件WebUploader的坑
需要上传图片的一个操作选择了WebUploader这个插件来实现,具体的实现过程如下. js代码: 1.引入js.css文件: <script type="text/javascrip ...