提升代码逻辑的感觉——python循环语句

提升代码逻辑的感觉——python循环语句

简介

循环是编程中的一个非常重要的概念,它用于处理重复性任何和迭代草错,通过循环我们能优化并简化代码,提高代码的可维护性,在Python中循环是一种控制结构,允许我们重复执行特定的代码块,直到达到某个条件或执行特定次数为止。循环是一种迭代结构,用于处理重复的任务、遍历数据集合等。

循环的目的是解决需要重复做相同事情的问题,而不是一遍又一遍地重复编写相同的代码。通过使用循环,我们可以通过更少的代码来实现重复的操作。

python中循环的基本类型

while 循环:

while 循环在给定条件为真时重复执行代码块。它先对条件进行检查,如果条件为真,则执行代码块,然后再次检查条件。如果条件仍为真,则继续重复执行代码块,直到条件为假时终止循环。

while condition:# 代码块
  • 当我们需要根据一个条件重复执行代码块时,可以使用 while 循环。下面是一个详细的示例,演示了 while 循环的用法:

    count = 0
    while count < 5:print(f"Count: {count}")count += 1
    

    在上述代码中,我们定义了一个名为 count 的变量,并初始化为 0。然后使用 while 循环,设置条件 count < 5,也就是 count 小于 5 时循环继续执行。

    循环内部的代码块是通过缩进表示的,会重复执行直到条件为假(即 count 不再小于 5)。在每次循环迭代时,我们打印出当前 count 的值,并将 count 增加 1,以便在下一次循环时递增。

    输出结果:

    Count: 0
    Count: 1
    Count: 2
    Count: 3
    Count: 4
    

    从输出结果可以看出,while 循环在每次迭代中打印出 count 的值,并逐渐递增,直到达到循环终止条件(count 不再小于 5)为止。

for 循环:

for 循环用于遍历可迭代对象(如列表、字符串等)中的元素,对每个元素执行相同的代码块。它会依次取出序列中的每个元素,直到所有元素都被遍历完为止,它与while循环的判断条件相反,当条件为假,则执行代码块。

for variable in iterable:# 代码块

for 循环中,variable 是一个变量名,用于存储每次循环迭代中的元素值。iterable 是一个可迭代对象,可以是列表、字符串、元组等。

  • 遍历列表:遍历一个列表中的元素,并将每个元素进行操作。
fruits = ["apple", "banana", "orange"]
for fruit in fruits:print(fruit)
  • 遍历字符串:遍历一个字符串的每个字符,并执行操作。
message = "Hello, World!"
for char in message:print(char)
  • 遍历字典:遍历一个字典的键或值,并进行相应的处理。
person = {"name": "John", "age": 25, "city": "New York"}
for key in person:print(key, "=", person[key])
  • 遍历数字范围:使用 range() 函数生成一系列数字,并进行操作。
for num in range(1, 5):print(num)

控制关键字

break:

  • break 关键字用于跳出当前所在的循环,终止循环的执行。
  • 当执行 break 语句时,程序会立即退出当前循环,并继续执行循环之后的代码。
  • break 可以用于跳出 for 循环和 while 循环。无论在哪种循环中,一旦满足某个条件,执行 break 后循环会立即停止。

示例:

for i in range(1, 6):if i == 3:breakprint(i)

输出结果:

1
2

在上述示例中,当 i 的值等于 3 时,执行了 break 语句,从而跳出了 for 循环。

continue:

  • continue 关键字用于终止当前迭代的循环,然后开始下一次迭代。
    • 当执行 continue 语句时,程序会跳过当前迭代中的剩余代码,并开始下一次迭代的执行。
    • continue 只能用于循环中,可以在 for 循环或 while 循环中使用。

示例:

for i in range(1, 6):if i == 3:continueprint(i)

输出结果:

1
2
4
5

在上述示例中,当 i 的值等于 3 时,执行了 continue 语句。这导致该迭代被跳过,程序开始下一次迭代。

总结:

  • break 用于立即终止整个循环的执行。
  • continue 用于终止当前迭代的执行,然后开始下一次迭代。
  • 通过 breakcontinue,我们可以根据特定条件自定义循环的控制流程,实现更灵活和精确的控制。

循环的嵌套

循环的嵌套指的是在一个循环体中包含另一个循环结构,即将一个循环放置在另一个循环内部。这样做的目的是在特定条件下多次执行内层循环,使程序能够处理更复杂的任务和数据结构。

在 Python 中,我们可以使用 for 循环和 while 循环来实现循环的嵌套。以下是两个个示例,展示了循环嵌套的用法:

for循环嵌套

for i in range(1, 4):for j in range(1, 4):print(i, j)

在上述示例中,外层循环使用 for 循环,迭代变量 i 的值从 1 到 3(不包括 4)。内层循环也是使用 for 循环,迭代变量 j 的值从 1 到 3(不包括 4)。因此,内层循环中的代码块会在每次外层循环迭代时执行 3 次。

输出结果:

1 1
1 2
1 3
2 1
2 2
2 3
3 1
3 2
3 3

在输出结果中,我们可以看到变量 ij 的值从 1 到 3 进行组合,形成了一个 3x3 的表格。

while循环嵌套

i = 1
while i <= 3:j = 1while j <= 3:print(i, j)j += 1i += 1

在上述示例中,外层循环使用 while 循环来迭代变量 i,只有在 i 小于等于 3 的情况下才会执行循环。内层循环也是使用 while 循环,迭代变量 j 只有在 j 小于等于 3 的情况下才会执行循环。

输出结果:

1 1
1 2
1 3
2 1
2 2
2 3
3 1
3 2
3 3

在输出结果中,我们可以看到变量 ij 的值从 1 到 3 进行组合,形成了一个 3x3 的表格。

嵌套循环在处理多维数据结构、生成组合或排列、遍历嵌套列表等场景中非常有用。然而,需要注意控制循环的嵌套层数和合理设计内外层循环的条件和逻辑,以避免产生无限循环或逻辑错误。

总结

分支结构和循环结构,都是编程中的非常重要的概念,正确的使用它们可以解决很多实际的问题。

while循环它适合用于需要在满足某个条件时重复执行代码的环境:

  1. 需要根据特定条件不断迭代执行的任务:while 循环提供了一种方法,可以使用条件判断来控制循环是否继续执行。只要条件为真,代码块就会继续执行,循环会一直持续下去,直到条件为假。

  2. 处理动态条件的情况:在某些情况下,循环的退出条件可能是在循环的过程中动态改变的,而不是在循环开始时就确定的。while 循环可以根据任何条件的改变来灵活地调整循环行为。

  3. 实现更复杂的逻辑流程:while 循环可以嵌套在其他循环中或与其他条件语句结合使用,以实现更复杂的逻辑控制和条件流程。通过适当设计循环条件和循环体内的操作,可以实现各种复杂的循环结构。

for循环它使用用于它主要用于遍历可迭代对象中的元素

  1. 遍历序列或集合中的元素:通过 for 循环,可以便捷地遍历列表、字符串、元组和集合等对象中的每个元素,并对它们进行操作。

  2. 迭代固定次数的循环:使用 range() 函数结合 for 循环,可以轻松实现在特定范围内重复执行固定次数的任务。

  3. 遍历字典的键或值:for 循环可以用于遍历字典的键,并通过键来访问字典中的值,或者直接遍历字典的值。

而break和continue的区别就在于

  • break 用于立即终止当前所在循环结构的执行,跳出循环。
  • continue 用于跳过当前迭代中剩余的代码,并开始下一次迭代。
  • breakcontinue 是在循环中控制流程的关键字,能够提高代码的灵活性和执行效率。
  • 但是,它们的使用需要谨慎,以确保循环逻辑的正确性和代码的可读性。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【100天精通python】Day47:python网络编程_Web编程基础

目录 1 网络编程与web编程 1.1 网络编程 1.2 web编程 2 Web开发概述 3 Web开发基础 3.1 HTTP协议 3.2 Web服务器 3.3 前端基础 3.4 静态服务器 3.5 前后端交互的基本原理 4 WSGI接口 4.1 CGI 简介 4.2 WSGI 简介 4.3 定义 WSGI 接口 4.4 运行 WSGI 服务 4.5…

视频汇聚/视频云存储/视频监控管理平台EasyCVR视频平台添加萤火云设备的具体操作步骤

安防视频监控/视频集中存储/云存储/磁盘阵列EasyCVR平台可拓展性强、视频能力灵活、部署轻快&#xff0c;可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等&#xff0c;以及支持厂家私有协议与SDK接入&#xff0c;包括海康Ehome、海大宇等设备的SDK等。平台既具备传统安…

【ARM Coresight 系列文章 20 -- linux perf 与 ARM coresight】

文章目录 1.1 Perf Introduction1.1.1 Perf 架构图1.1.2 Perf Tools 介绍1.1.3 Perf 命令介绍1.2 Events1.2.1 Perf 与 PMU 的关系1.2.2 Hardware events1.2.1.1 linux perf 事件分类1.2.2 Software Events1.2.3 Tracepoint Events1.3 Perf 工具使用1.4 用户态开发1.4.1 用户态…

Springboot 整合 Redis配置

RedisService接口 import java.util.List; import java.util.Map; import java.util.Set;/*** Redis操作Service* Created by macro on 2020/3/3.*/ public interface RedisService {/*** 保存属性*/void set(String key, Object value, long time);/*** 保存属性*/void set(St…

Java项目-苍穹外卖-Day07-redis缓存应用-SpringCache/购物车功能

文章目录 前言缓存菜品问题分析和实现思路缓存菜品数据清理缓存数据功能测试 SpringCache介绍入门案例 缓存套餐购物车功能添加购物车需求分析和产品原型测试 前言 本章节主要是进行用户端的购物车功能开发 和redis作为mysql缓存的应用以及SpringCache的介绍 因为很多人查询数…

VSCode-C++环境配置+Cmake

文章目录 一、环境配置二、Win10 Cmake 一、环境配置 转载链接 二、Win10 Cmake 创建CMakeLists.txt cmake_minimum_required(VERSION 3.26) project(graph_algorithm)set(CMAKE_CXX_STANDARD 17)add_executable(main main.cppshared_variable.cpp )cmake . -G "MinGW…

【Java List与Map】List<T> Map与Map List<T>的区别(126)

List&#xff1c;T&#xff1e; Map&#xff1a;List里面的数据类型包含Map&#xff1b; Map List&#xff1c;T&#xff1e;&#xff1a;Map里面value的数据类型包含List&#xff1b; 测试案例&#xff1a; import java.util.ArrayList; import java.util.HashMap; import j…

安全区域边界技术测评要求项

1.边界防护-非授权设备接入、非授权连接外部网络、无线网络使用和设备可信接入 &#xff08;网络边界就是采用不同安全策略的两个网络的连接处&#xff09; 1-1/2-1/3-4/4-6 a&#xff09;保证跨越边界的访问和数据流通过边界设备提供的受控接口进行通信 b&#xff09;应能够对…

Linux学习之RAID

基础概念 RAID&#xff0c;英文全称为Redundant Arrays of Independent Drives&#xff0c;RAID&#xff0c;中文称为独立冗余磁盘阵列&#xff0c;这项技术把多个硬盘设备组合成一个容量更大的、安全性更好的磁盘阵列&#xff0c;把数据切割成许多区段分别放在不同的物理磁盘…

MATLAB算法实战应用案例精讲-【概念篇】构建数据指标方法(最终篇)

目录 前言 算法原理 指标体系的意义 1. 更好进行管理 2. 更优打造业务 3. 更早构造壁垒 什么是好的

15. 实现业务功能--帖子操作

1. 集成编译器 editor.md 支持 MarkDown 语法编辑&#xff0c;在需要用户输⼊内容的页面按以下代码嵌入编辑器 1.1 编写 HTML <!-- 引⼊编辑器的CSS --> <link rel"stylesheet" href"./dist/editor.md/css/editormd.min.css"> <!-- 引⼊编…

Linux服务器中创建SVN项目详细步骤

一、Linux服务器中的SVN安装和搭建项目环境可以参考一下文章: 1、《阿里云服务器搭建》------搭建SVN服务 2、在一个服务器的svn上&#xff0c;设置一个端口号对应一个项目 3、如何解决Linuxsvn无法显示日志的问题 二、Linux服务器中的SVN项目如何添加项目的忽略文件&#xff1…

Rabbitmq的消息转换器

Spring会把你发送的消息序列化为字节发送给MQ&#xff0c;接收消息的时候&#xff0c;还会把字节反序列化为Java对象 ,只不过&#xff0c;默认情况下Spring采用的序列化方式是JDK序列化。众所周知&#xff0c;JDK序列化存在下列问题&#xff1a; 数据体积过大 有安全漏洞 可读…

nacos Error to process server push response

nacos2.0.3报错&#xff1a; Error to process server push response 解决办法&#xff1a; 排查项目当中有没有直接或间接依赖reflections&#xff1a; <dependency><groupId>org.reflections</groupId><artifactId>reflections</artifactId>…

华为配置聚合vlan(Super vlan--Sub vlan)

聚合vlan&#xff0c;Aggregation vlan&#xff0c;也称Super vlan&#xff0c;可以实现用Sub vlan二层隔离广播域&#xff0c;但又将这些Sub vlan聚合使用同一IP子网和网关的情况。 这样&#xff0c;多个Sub-VLAN共享一个网关地址&#xff0c;节约了子网号、子网定向广播地址、…

部署问题集合(二十一)从零开始搭建一台NAS服务器(Linux虚拟机)

前言 因工作需要&#xff0c;需要从零通过虚拟机搭建一台NAS服务器&#xff0c;以此记录下来 步骤 1、创建虚拟机 通过VMWare创建一台新虚拟机&#xff0c;虚拟机内存和磁盘自定义&#xff0c;不过建议尽量大一点 2、服务器端配置 查看是否安装有NFS服务&#xff1a;rpm …

TensorFlow-slim包进行图像数据集分类---具体流程

TensorFlow中slim包的具体用法 1、训练脚本文件&#xff08;该文件包含数据下载打包、模型训练&#xff0c;模型评估流程&#xff09;3、模型训练1、数据集相关模块&#xff1a;2、设置网络模型模块3、数据预处理模块4、定义损失loss5、定义优化器模块 本次使用的TensorFlow版本…

open cv快速入门系列---数字图像基础

目录 一、数字图像基础 1.1 数字图像和图像单位 1.2 区分图片分辨率与屏幕分辨率 1.3 图像的灰度与灰度级 1.4 图像的深度 1.5 二值图像、灰度图像与彩色图像 1.6 通道数 二、数字图像处理 2.1 图像噪声及其消除 2.2 数字图像处理技术 2.2.1 图像变换 2.2.2 图像增强…

爬虫逆向实战(二十七)--某某招标投标网站招标公告

一、数据接口分析 主页地址&#xff1a;某网站 1、抓包 通过抓包可以发现数据接口是page 2、判断是否有加密参数 请求参数是否加密&#xff1f; 通过查看“载荷”模块可以发现&#xff0c;请求参数是一整个密文 请求头是否加密&#xff1f; 无响应是否加密&#xff1f; 通…

springboot集成es 插入和查询的简单使用

第一步&#xff1a;引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-elasticsearch</artifactId><version>2.2.5.RELEASE</version></dependency>第二步&#xff1a;…