【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语言碰上计算式同时出现在一个指令内时,除了括号"(".")"最优外,其余计算优先次序如下: 次方(**). 乘法.除法.求余数(%).求整数(//) ...
随机推荐
- Android获取获取悬浮窗一下的view办法
getwindows可以获取当前手机屏幕所有有交互功能的view getactitywindows只能获取最顶层有交互的view
- 【1】第一篇 Postman的初级使用之设置环境快速切换生成环境与测试环境
POSTMAN是有谷歌的开源工具,在开发调试.测试执行过程中使用频率非常广泛,本文将记录一些postman在测试中常见的一些配置和使用方法 一.基本的页面区域 略,很简单,大家都会看,再有,学习下面的 ...
- C# Post调用接口并传递json参数
1 public string Post(string Url, string jsonParas) 2 { 3 string strURL = Url; 4 //创建一个HTTP请求 5 HttpW ...
- 微信小程序tabBar图标显示失败问题
练习tabBar时发现链入的图片在没有任何语句语法错误以及报错的情况下显示失败 试了很多办法 最后请教了一下学长才知道需要重启小程序开发工具并清缓存 问题解决
- 布尔类型:boolean
布尔类型 基本介绍 布尔类型也叫boolean类型,其数据只允许取值true和false,无null boolean类型占1个字节 boolean类型适于逻辑运算,一般用于程序流程控制: if条件控制 ...
- ORACLE 遇到ORA 03113 数据库连接卡住
环境:RAC 双节点 发现两个节点的alert日志中出现大量的 opiodr aborting process unknown ospid (150950) as a result of ORA-60 ...
- 论文阅读: CCF A 2021 PROGRAML:用于数据流分析和编译器优化的基于图的程序表示 (PMLR)
Motivation: 编译器实现是一项复杂而昂贵的活动.出于这个原因,人们对使用机器学习来自动化各种编译器任务产生了极大的兴趣,大多数工作都将注意力限制在选择编译器启发式或做出优化决策.现有的基 ...
- 2022-05-23内部群每日三题-清辉PMP
1.在项目执行过程中,职能经理识别到有关外包团队的新内部风险,职能经理要求项目经理提供一个不会对项目产生负面影响的快速解决方案.项目经理应该怎么做? A.制定风险分解结构(RBS) B.根据影响的严重 ...
- 分区函数Partition by使用
1.PARTITION BY使用 基本语法 over(partition by col1 order by col2): select t.*,row_number() over( order by ...
- 02 python初识
Python初识 一.入门基础 1. 第一个Python程序 python 代码都是编写在以 .py 结尾的文件中.我们随便新建一个文件,并将文件后缀名改为 .py,在里面编写我们的第一个 pytho ...