【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语言碰上计算式同时出现在一个指令内时,除了括号"(".")"最优外,其余计算优先次序如下: 次方(**). 乘法.除法.求余数(%).求整数(//) ...
随机推荐
- AWK nr nf
https://blog.csdn.net/sh13661847134/article/details/118018456 awk中NF,NR的含义awk中NF和NR的意义,其实你已经知道NF和NR的 ...
- MySQL5.7升级版本到8.0
升级二进制包安装的MySQL In-Place Upgrade(替代升级) 替代升级涉及到shutdown down旧版本的MySQL,用新版本的包替代旧版本的二进制包,用存在的数据文件目录重启MyS ...
- 将 ChatGPT 接入 Zabbix 为告警提供修复建议(对接钉钉)
1.如果接企业微信请参考下面的文章 https://www.txisfine.cn/archives/9c078bb7.html 感谢上述文章的作者提供的思路 ChatGPT 是最近很火的 AI 智能 ...
- windows下搭建h5游戏小小火影教程【附安装包】
小小三国是一款很好玩的H5游戏.只需要用一台64位的windows电脑或服务器,你就可以和朋友们一起联机玩这个游戏了.本文将会教你如何搭建这个游戏,步骤如下. 1.下载好后你会看到该压缩包 2.解压到 ...
- (mysql笔记)GROUP_CONCAT() 把多行数据合并
不合并查询: 合并查询: SELECT GROUP_CONCAT(id) FROM orderinfo WHERE enterpriseid = 2265 AND shopid =0 AND orde ...
- Win10系统桌面exe文件图标消失不见了的解决方法
使用 Windows10正式版系统 过程中,发现桌面上的一些exe文件图标突然消失不见了.虽然这些exe程序还能够正常运行,可是感觉还是非常不舒服.这该怎么办呢?接下来,就随小编看看Windows10 ...
- 如何查看mysql版本号
- org.aspectj.lang不存在,引入失败。
问题:添加了依赖,或引入了jar包但是写aspect类时无法引入 解决办法:
- Canvas布局下使用附加属性使控件岁鼠标移动
定义附加属性 public class MoveBehavior { public static readonly DependencyProperty IsMoveAbleProperty = De ...
- react native 第三方富文本编辑器 wxik/react-native-rich-editor(在移动端使用)
//更新2021年8月23日 (1)wxik/react-native-rich-editor 个人认为功能比较全,推荐使用 关于使用的案例,官网上有,我直接粘贴我遇到的几个问题 1. 软键盘弹出时 ...