Python基础(八)之流程控制

Python基础(八)之流程控制

Python_logo

Python控制流程分为三种接口:

  • 顺序结构
  • 选择结构
  • 循环结构

1、顺序结构

程序代码自上而下运行,逐条执行每一条Python代码,不重复执行任何代码,也不会跳过任何代码。

当语句与语句之间使用分好来分割且一行中与多条代码,此时程序从左到右依次执行运行。

Python代码在执行过程中,遵循以下基本原则:

  • 普通语句,直接执行。
  • 遇到函数,将函数体载入内存,并不直接执行。
  • 遇到类、执行类内部的普通语句,但是类的方法只载入,不执行。
  • 遇到if、for等控制语句,按相应控制流程执行。
  • 遇到@、break、continue时,按照规定语句执行。
  • 遇到函数、方法调用等,转而执行函数内部代码,执行完毕继续执行原有的顺序代码。

2、选择结构

Python选择结构也称为分支结构,有选择性的执行代码;选择结构又细分为单分支、双分支、多分支结构。

  • 单分支

    • if语句

      if  condition:  # (条件)# 满足条件后执行 代码块
      
  • 双分支

    • if-else 语句

      if condition:# 执行代码块  满足条件后执行的代码块
      else:# 执行代码块  不满足条件后执行的代码块
      
  • 多分支

    • if - elif - else 语句

      if condition1:# 满足条件1后 执行的代码块
      elif condition2:# 满足条件2后 执行的代码块
      elif condition3:# 满足条件3后 执行的代码块
      ...elif conditionN:# 满足条件N后 执行的代码块
      else:# 不满足上述条件后  执行的代码块
      

【注】

  • Python 中没有switch语法!
  • Python是一门非常独特的变成语言,通过缩进来识别代码,所以我们不能随意使用缩进,否则会导致输出错误。
  • Python要求代码块缩进,但没有要求缩进量;同一个代码快的缩进量一定要一致,缩进量不同的不属于同一个代码块;一般缩进用一个Tab键或四个空格。
  • 不需要缩进的地方千万不可缩进,特别是代码第一行,否则会输出报错;一旦缩进就会生成一个代码块。

3、循环结构

  • 循环结构分为: while循环、 for循环
  • 作用为:提高代码的复用率。

3.1、while循环

在Python中,while循环和if条件分支语句类似,即在条件(表达式)为真的情况下,会执行相应的代码块。不同在于,只要满足条件则会持续执行代码块。

while condition: # 条件表达式# 循环体

示例:

# 乘法口诀表
a = 1
while a <= 9:b = 1while b <= a:print(f'{a} * {b} = {a * b} ', end = '\t')b += 1print()a += 1

3.2、for循环

在Python中,为了遍历字符串、列表、元组、字典、集合等序列类型,逐个获取序列的各种元素,因此便有了for循环。

  • for … in 循环结构注重于对固定数据列表的循环遍历和使用
for 迭代变量 in 可迭代对象:代码块

示例:

# 遍历列表
s = 'Python'
s_list = list(s)
for el in s_list:print(el)# 使用for循环 遍历乘法口诀表
for a in range(1, 9):for b in range(1, a + 1):print(f'{a} * {b} = {a * b} ', end = '\t')print()'''
range(n) 范围: [0, n) 整数
range(start, end)  范围: [start, end)
range(start, end, step) step表示步长
'''

3.3、跳出循环

  • break :在循环体的代码中,用于在满足一定条件时,跳出循环,可以提前终止当前循环。
  • continue : 在循环体的代码中,用于在满足一定条件时,提前终止当前本次循环。但不会终止循环。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/2870289.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

【现代C++】智能指针

在现代C中&#xff0c;智能指针是用来管理动态分配的内存&#xff0c;自动进行资源回收&#xff0c;以减少内存泄漏和提升代码安全性。主要有三种类型的智能指针&#xff1a;std::unique_ptr、std::shared_ptr和std::weak_ptr。以下是这些智能指针的详细介绍&#xff1a; 1. s…

使用 VS Code + Github 搭建个人博客

搭建个人博客的方案 现在&#xff0c;搭建个人博客的方式有很多&#xff0c;门槛也很低。 可以选择已有平台&#xff1a; 掘金语雀知乎简书博客园SegmentFault… 也可以选择一些主流的博客框架&#xff0c;自行搭建。 HexoGitBookVuePressdumi… 如何选择&#xff1f; 我…

【TB作品】MSP430,波形发生器,单片机,Proteus仿真

文章目录 题目效果梯形波100个点产生方法锯齿波100个点产生方法c代码和proteus仿真 题目 114 波形发生器的制作 设计要求 设计一个能产生正弦波、方波、三角波、梯形波、锯齿波的波形发生器。设置5个开关K1~K5(从 上到下),分别对应正弦波、方波、三角波、梯形波、锯齿波,按一下…

在Linux中进行OpenSSH升级

由于OpenSSH有严重漏洞&#xff0c;因此需要升级OpenSSH到最新版本。 OpenSSL和OpenSSH都要更新&#xff0c;OpenSSH依赖于OpenSSL。 第一步&#xff0c;查看当前的OpenSSH服务版本。 命令&#xff1a;ssh -V 第二步&#xff0c;安装、启动telnet&#xff0c;关闭安全文件&a…

Pycharm连接远程服务器Anoconda中的虚拟环境

在配置远程解释器时&#xff0c;踩过一些坑&#xff0c;现在记录一下配置过程&#xff1a; 步骤1&#xff1a; 打开pycharm的File里面的Settings 里面的Project:你的项目名称目录下的Python Interpreter。 步骤二&#xff1a; 点击右上角的“add interpreter”&#xff0c;选择…

详解MySql索引

目录 一 、概念 二、使用场景 三、索引使用 四、索引存在问题 五、命中索引问题 六、索引执行原理 一 、概念 索引是一种特殊的文件&#xff0c;包含着对数据表里所有记录的引用指针。暂时可以理解成C语言的指针,文章后面详解 二、使用场景 数据量较大&#xff0c;且…

代码算法训练营day9 | 28. 实现 strStr() 、459.重复的子字符串

day9&#xff1a; 28. 实现 strStr()KMP的主要应用&#xff1a;什么是前缀表&#xff1a;前缀表是如何记录的&#xff1a; 如何计算前缀表&#xff1a;构造next数组&#xff1a;1、初始化2、处理前后缀不相同的情况3、处理前后缀相同的情况 代码&#xff1a; 459.重复的子字符串…

Python算法100例-4.1 将真分数分解为埃及分数

完整源代码项目地址&#xff0c;关注博主私信源代码后可获取 1.问题描述2.问题分析3.算法设计4.补充知识点5.确定程序框架6.完整的程序 1&#xff0e;问题描述 现输入一个真分数&#xff0c;请将该分数分解为埃及分数。 2&#xff0e;问题分析 真分数&#xff08;a proper…

面向控制台编程?Java的GUI开发

记得之前刚开始学习Java&#xff0c;按部就班去阅读《Java核心技术》这本书的时候&#xff0c;总是听别人提起&#xff0c;java swing那一章不用看了。然后直到对着控制台编程了半年&#xff0c;回来捡起了Swing图形界面&#xff0c;跟着网上搞了坦克大战的游戏&#xff0c;总觉…

ECMAscript6学习

ECMAscript6介绍 ECMA是一个浏览器脚本标准制定的公司&#xff0c;Netscape 创造了 JavaScript 由于商标原因&#xff0c; 后面ECMA公司取名ECMAscript 1 发布&#xff0c;JavaScript 也就是 ECMAscript.到现在最新的版本是6&#xff0c;简称es6. 新增let 与const let 与const …

Unity在UGUI上通过绘制网格顶点自由画线

该插件的实现是使用UI组件的绘图API来动态生成和修改几何形状&#xff0c;可自由动态更改画线的粗细、拐角圆滑度、颜色&#xff0c;自由增减节点&#xff0c;不额外增加gameobject&#xff0c;并且在原生的UGUI上以ScreenSpace-Overlay的状态下&#xff0c;显示效果如下所示 …

每日一题:LeetCode2.两数相加

给你两个 非空 的链表&#xff0c;表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的&#xff0c;并且每个节点只能存储 一位 数字。 请你将两个数相加&#xff0c;并以相同形式返回一个表示和的链表。 你可以假设除了数字 0 之外&#xff0c;这两个数都不会以 0 …

C#控制台贪吃蛇

Console.Write("");// 第一次生成食物位置 // 随机生成一个食物的位置 // 食物生成完成后判断食物生成的位置与现在的蛇的身体或者障碍物有冲突 // 食物的位置与蛇的身体或者障碍物冲突了&#xff0c;那么一直重新生成食物&#xff0c;直到生成不冲突…

说说JVM的垃圾回收机制

简介 垃圾回收机制英文为Garbage Collection, 所以我们常常称之为GC。那么为什么我们需要垃圾回收机制呢&#xff1f;如果大家有了解过Java虚拟机运行时区域的组成(JVM运行时存在&#xff0c;本地方法栈&#xff0c;虚拟机方法栈&#xff0c;程序计数器&#xff0c;堆&#xf…

麒麟系统Redis7.2哨兵集群部署

redis哨兵集群部署 1、原理 Redis 哨兵模式是指在 Redis 集群中,有一组专门的进程(即哨兵进程)负责监控主节点和从节点的状态,并在发现故障时自动进行故障转移,以保证 Redis 集群的高可用性。 Redis 提供了哨兵的命令,哨兵命令是一个独立的进程,哨兵进程会周期性地向主…

60 个深度学习教程:包含论文、实现和注释 | 开源日报 No.202

labmlai/annotated_deep_learning_paper_implementations Stars: 44.0k License: MIT annotated_deep_learning_paper_implementations 是一个包含深度学习论文的 60 个实现/教程&#xff0c;附带并排注释&#xff1b;包括 transformers&#xff08;原始、xl、switch、feedbac…

Sentaurus TCAD中SDE的mtt命令

Reflection 配套代码 ; Building mesh (sde:build-mesh "snmesh" "" "nnode_half_msh") ; Reflect the device (system:command "tdx -mtt -x -M 0 -S 0 -ren drainsource nnode_half_msh nnode_msh");----------------------------…

【洛谷 P8661】[蓝桥杯 2018 省 B] 日志统计 题解(滑动窗口+优先队列+双端队列+集合)

[蓝桥杯 2018 省 B] 日志统计 题目描述 小明维护着一个程序员论坛。现在他收集了一份“点赞”日志&#xff0c;日志共有 N N N 行。其中每一行的格式是 ts id&#xff0c;表示在 t s ts ts 时刻编号 i d id id 的帖子收到一个“赞”。 现在小明想统计有哪些帖子曾经是“热…

电脑充电器能充手机吗?如何给手机充电?

电脑充电器可以给手机充电吗&#xff1f; 电脑充电器可以给手机充电&#xff0c;但前提是电脑充电器的功率输出与手机的功率匹配且接口匹配。 假设电脑充电器的输出功率为5V/2A&#xff0c;手机也支持5V/2A的输入功率。 只要接口匹配&#xff0c;就可以使用电脑充电器给手机充…

20240314-2-字符串string

1.最长公共前缀 编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀&#xff0c;返回空字符串 “”。 示例 1: 输入: [“flower”,“flow”,“flight”] 输出: “fl” 示例 2: 输入: [“dog”,“racecar”,“car”] 输出: “” 解释: 输入不存在公共前缀…