详解Python流程控制语句


Posted in Python onOctober 28, 2020

流程控制

  1. 流程:代码执行的过程
  2. 控制:对代码执行过程的把控

三大结构

  • 顺序结构:代码默认从上到下,依次执行
  • 分支结构:单项分支,双向分支,多项分支,巢状分支
  • 循环结构:while循环和for循环

单项分支

语句:

if 条件表达式:
    code1
    code2

当条件表达式成立时,返回True,执行对应的代码块

job = "programmer"
if job == "programmer":
   print("钱多")
   print("话少")
   print("*的早")

双向分支(二选一)

语句:

if 条件表达式:
    code1 ..
else:
    code2 ...

  • 如果条件表达式成立,返回True ,执行if这个区间的代码块
  • 如果条件表达式不成立,返回False,执行else这个区间的代码块
job = "programmer"
if job == "programmer":
   print("钱多")
   print("话少")
   print("*的早")
else:
   print("给你小红花儿~")

多项分支(多选一)

语句:

if 条件表达式1:
    code1
elif 条件表达式2:
    code2
elif 条件表达式3:
    code3
else:
    code4

  • 如果条件表达式1成立,执行对应分支的代码块code1,反之则判断条件表达式2是否成立
  • 如果条件表达式2成立,执行对应分支的代码块code2,反之则判断条件表达式3是否成立
  • 如果条件表达式3成立,执行对应分支的代码块code3,反之则执行else分支,到此程序执行完毕
money = False
car = False
house = False
if money == True:
   print("你是土豪么???")
elif car == True:
   print("你是有一辆蹦蹦嘛???")
elif house == True:
   print("你是什么房子啊?")
else:
   print("你是个好人~")

巢状分支

单项分支,双向分支,多项分支的互相嵌套组合

money = False
car = True
house = True
if money == True:
   print("你是土豪么???")
   if house == True:
      print("你是什么房子啊?")
      if car == True:
         print("你是有一辆蹦蹦嘛???")
      else:
         print("其实还可以~")
   else:
      print("感觉差点意思~")
else:
   print("你是个好人~")

循环结构

特点:

减少冗余代码,提升代码执行效率

语法:

while 条件表达式:
    code1

书写三部曲

  • 初始化一个变量
  • 书写循环条件
  • 添加自增/自减的值

案例1

# 打印1~100所有数字
i = 1
while i <= 100:
   print(i)
   i += 1

案例2

# 打印1~100的累加和
i = 0
total = 0
while i <= 100:
   total += i
   i += 1
print(total)

死循环

while True:
   print("死循环")

关键字的使用

pass(代码块中的占位符)

while True:
   pass

break(终止当前循环)

# 1~10,遇到5终止循环
i = 1
while i <= 10:
   print(i)
   if i == 5:
      break
   i += 1

container(跳过当前循环)

# 打印1~100中不含4的数字
i = 1
while i <= 100:
   strvar = str(i)
   if "4" in strvar:
      i += 1
      continue
   print(i)
   i += 1

for循环

循环/遍历/迭代,把容器中的元素一个个取出来

while的局限性

# Error
# setvar = {"a", "b", "c"}
# i = 0
# while i < len(setvar):
   # print(setvar[i])
   # i+=1

for循环的基本语法

for 变量 in Iterable:
    code1

Iterable

Iterable可迭代性数据

  1. 容器类型数据
  2. range对象
  3. 迭代器

range

range(开始值,结束值,步长)
区间为[开始值,结束值),为左闭右开区间,右边的结束值取不到

总结

  • while:一般用于处理复杂的逻辑关系
  • for:一般用于迭代数据
  • 部分情况下两个循环可以互相转换

以上就是详解Python流程控制语句的详细内容,更多关于Python流程控制语句的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
python获取指定目录下所有文件名列表的方法
May 20 Python
python实现的正则表达式功能入门教程【经典】
Jun 05 Python
python中import reload __import__的区别详解
Oct 16 Python
Python 2.7中文显示与处理方法
Jul 16 Python
对python多线程与global变量详解
Nov 09 Python
python如何获取列表中每个元素的下标位置
Jul 01 Python
Python队列RabbitMQ 使用方法实例记录
Aug 05 Python
django创建超级用户过程解析
Sep 18 Python
Python读取VOC中的xml目标框实例
Mar 10 Python
浅谈Python协程
Jun 17 Python
python在linux环境下安装skimage的示例代码
Oct 14 Python
用python自动生成日历
Apr 24 Python
详解selenium + chromedriver 被反爬的解决方法
Oct 28 #Python
手把手教你从PyCharm安装到激活(最新激活码),亲测有效可激活至2089年
Nov 25 #Python
Python字典实现伪切片功能
Oct 28 #Python
python使用selenium爬虫知乎的方法示例
Oct 28 #Python
怎么解决pycharm license Acti的方法
Oct 28 #Python
python如何快速拼接字符串
Oct 28 #Python
Python实现简单的猜单词小游戏
Oct 28 #Python
You might like
用PHP将数据导入到Foxmail的实现代码
2010/09/05 PHP
php+js实现图片的上传、裁剪、预览、提交示例
2013/08/27 PHP
php共享内存段示例分享
2014/01/20 PHP
MyEclipse常用配置图文教程
2014/09/11 PHP
PHP+MYSQL中文乱码问题
2015/07/01 PHP
PHP实现更改hosts文件的方法示例
2017/08/08 PHP
浅谈thinkphp的nginx配置,以及重写隐藏index.php入口文件方法
2019/10/12 PHP
Firefox 无法获取cssRules 的解决办法
2006/10/11 Javascript
两个DIV等高的JS的实现代码
2007/12/23 Javascript
一个javascript图片阅览组件
2010/11/09 Javascript
js中判断用户输入的值是否为空的简单实例
2013/12/23 Javascript
用js来刷新当前页面保留参数的具体实现
2013/12/23 Javascript
jstree创建无限分级树的方法【基于ajax动态创建子节点】
2016/10/25 Javascript
angularjs利用directive实现移动端自定义软键盘的示例
2017/09/20 Javascript
JS实现点击按钮可实现编辑功能
2018/07/03 Javascript
使用element-ui table expand展开行实现手风琴效果
2019/03/15 Javascript
详解小程序开发经验:多页面数据同步
2019/05/18 Javascript
小程序使用watch监听数据变化的方法详解
2019/09/20 Javascript
在Python的框架中为MySQL实现restful接口的教程
2015/04/08 Python
Python实现删除当前目录下除当前脚本以外的文件和文件夹实例
2015/07/27 Python
python3.4用循环往mysql5.7中写数据并输出的实现方法
2017/06/20 Python
Python continue继续循环用法总结
2018/06/10 Python
查看端口并杀进程python脚本代码
2019/12/17 Python
Python 模拟生成动态产生验证码图片的方法
2020/02/01 Python
Python用input输入列表的实例代码
2020/02/07 Python
python实现程序重启和系统重启方式
2020/04/16 Python
浅谈sklearn中predict与predict_proba区别
2020/06/28 Python
Pycharm安装python库的方法
2020/11/24 Python
IRO美国官网:法国服装品牌
2018/03/06 全球购物
Yves Rocher伊夫·黎雪美国官网:法国始创植物美肌1959
2019/01/09 全球购物
介绍一下Linux内核的排队自旋锁
2014/01/04 面试题
仓库班组长岗位职责
2013/12/12 职场文书
迎国庆演讲稿
2014/09/05 职场文书
服务承诺书
2015/01/19 职场文书
导游词之茶卡盐湖
2019/11/26 职场文书
MySQL读取JSON转换的方式
2022/03/18 MySQL