详解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中Apriori算法实现讲解
Dec 10 Python
Java实现的执行python脚本工具类示例【使用jython.jar】
Mar 29 Python
PyQt5每天必学之带有标签的复选框
Apr 19 Python
Python二叉树定义与遍历方法实例分析
May 25 Python
python实现的MySQL增删改查操作实例小结
Dec 19 Python
用Anaconda安装本地python包的方法及路径问题(图文)
Jul 16 Python
python中dict使用方法详解
Jul 17 Python
pycharm修改file type方式
Nov 19 Python
Python3 利用face_recognition实现人脸识别的方法
Mar 13 Python
Selenium之模拟登录铁路12306的示例代码
Jul 31 Python
基于python的matplotlib制作双Y轴图
Apr 20 Python
python中pd.cut()与pd.qcut()的对比及示例
Jun 16 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
给apache2.2加上mod_encoding模块後 php5.2.0 处理url出现bug
2007/04/12 PHP
Laravel框架中扩展函数、扩展自定义类的方法
2014/09/04 PHP
php日期操作技巧小结
2016/06/25 PHP
php微信开发自定义菜单
2016/08/27 PHP
PHP全功能无变形图片裁剪操作类与用法示例
2017/01/10 PHP
!DOCTYPE声明对JavaScript的影响分析
2010/04/12 Javascript
$(&quot;&quot;).click与onclick的区别示例介绍
2014/09/25 Javascript
javascript数据结构与算法之检索算法
2015/04/04 Javascript
浅谈javascript的Array.prototype.slice.call
2015/08/31 Javascript
jquery动画效果学习笔记(8种效果)
2015/11/13 Javascript
AngularJS中的拦截器实例详解
2017/04/07 Javascript
vue几个常用跨域处理方式介绍
2018/02/07 Javascript
ES6入门教程之let、const的使用方法
2019/04/13 Javascript
Python统计列表中的重复项出现的次数的方法
2014/08/18 Python
简单讲解Python中的闭包
2015/08/11 Python
Python模拟随机游走图形效果示例
2018/02/06 Python
详解Python3 中hasattr()、getattr()、setattr()、delattr()函数及示例代码数
2018/04/18 Python
记一次python 内存泄漏问题及解决过程
2018/11/29 Python
python实现监控阿里云账户余额功能
2019/12/16 Python
pytorch GAN伪造手写体mnist数据集方式
2020/01/10 Python
python为Django项目上的每个应用程序创建不同的自定义404页面(最佳答案)
2020/03/09 Python
理解Django 中Call Stack机制的小Demo
2020/09/01 Python
浅谈html5 响应式布局
2014/12/24 HTML / CSS
SmartBuyGlasses中国:唯视良品(销售名牌太阳镜、墨镜和眼镜框)
2017/07/03 全球购物
迪斯尼假期(欧洲、中东及非洲):Disney Holidays EMEA
2021/02/15 全球购物
父亲追悼会答谢词
2014/01/17 职场文书
人事专员的岗位职责
2014/03/01 职场文书
后勤主管岗位职责
2014/03/01 职场文书
学习雷锋精神心得体会范文
2014/03/12 职场文书
教师党员一句话承诺
2014/03/28 职场文书
2015年大学辅导员工作总结
2015/05/12 职场文书
优秀员工演讲稿
2019/06/21 职场文书
南阳市白酒市场的调查报告
2019/11/08 职场文书
如何使用php生成zip压缩包
2021/04/21 PHP
spring boot中nativeQuery的用法
2021/07/26 Java/Android
Java spring单点登录系统
2021/09/04 Java/Android