详解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下os模块强大的重命名方法renames详解
Mar 07 Python
详解Python中for循环是如何工作的
Jun 30 Python
Python最火、R极具潜力 2017机器学习调查报告
Dec 11 Python
PyQt5每天必学之关闭窗口
Apr 19 Python
Python实现修改IE注册表功能示例
May 10 Python
python实现俄罗斯方块
Jun 26 Python
python生成器与迭代器详解
Jan 01 Python
Anaconda之conda常用命令介绍(安装、更新、删除)
Oct 06 Python
django中间键重定向实例方法
Nov 10 Python
django框架F&amp;Q 聚合与分组操作示例
Dec 12 Python
解决Ubuntu18中的pycharm不能调用tensorflow-gpu的问题
Sep 17 Python
Python 调用C++封装的进一步探索交流
Mar 04 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 内存缓存加速功能memcached安装与用法
2009/09/03 PHP
phpphp图片采集后按原路径保存图片示例
2014/02/18 PHP
php之curl设置超时实例
2014/11/03 PHP
PHP动态页生成静态页的3种常用方法
2014/11/13 PHP
PHP+Mysql+jQuery实现发布微博程序 php篇
2015/10/15 PHP
PHP读取大文件末尾N行的高效方法推荐
2016/06/03 PHP
php 三元运算符实例详细介绍
2016/12/15 PHP
JS动画效果代码3
2008/04/03 Javascript
web页面数据展示新想法(json)
2010/06/08 Javascript
JQuery扩展插件Validate—6 radio、checkbox、select的验证
2011/09/05 Javascript
js时间日期和毫秒的相互转换
2013/02/22 Javascript
Jquery中LigerUi的弹出编辑框(实现方法)
2013/07/09 Javascript
js传中文参数controller里获取参数乱码问题解决方法
2014/01/03 Javascript
JavaScript中String.match()方法的使用详解
2015/06/06 Javascript
jQuery实现带有上下控制按钮的简单多行滚屏效果代码
2015/09/04 Javascript
jsonp跨域请求数据实现手机号码查询实例分析
2015/12/12 Javascript
js重写方法的简单实现
2016/07/10 Javascript
深入理解jQuery3.0的domManip函数
2016/09/01 Javascript
bootstrap模态框实现拖拽效果
2016/12/14 Javascript
BootStrap入门学习第一篇
2017/08/28 Javascript
nodeJs实现基于连接池连接mysql的方法示例
2018/02/10 NodeJs
vue基础之事件v-onclick=&quot;函数&quot;用法示例
2019/03/11 Javascript
vue添加自定义右键菜单的完整实例
2020/12/08 Vue.js
python解析文件示例
2014/01/23 Python
Python FTP操作类代码分享
2014/05/13 Python
python中numpy.zeros(np.zeros)的使用方法
2017/11/07 Python
不知道这5种下划线的含义,你就不算真的会Python!
2018/10/09 Python
网易2016研发工程师编程题 奖学金(python)
2019/06/19 Python
matlab 计算灰度图像的一阶矩,二阶矩,三阶矩实例
2020/04/22 Python
Python 抓取数据存储到Redis中的操作
2020/07/16 Python
Html5移动端适配IphoneX等机型的方法
2019/06/25 HTML / CSS
澳大利亚顶级美发和美容贸易超市:glamaCo
2020/01/19 全球购物
查询优化的一般准则有哪些
2015/03/08 面试题
安全事故检讨书
2014/01/18 职场文书
产品陈列协议书(标准版)
2014/09/17 职场文书
维护民族团结心得体会2016
2016/01/15 职场文书