当前位置: 首页 > news >正文

提升代码逻辑的感觉——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.lryc.cn/news/145515.html

相关文章:

  • 【ARM Coresight 系列文章 20 -- linux perf 与 ARM coresight】
  • 微服务之Nacos
  • jvm 新生代的区域划分
  • 【C++】对于string的补充(成员函数c_str()、大小写转换、字符串和实数之间的相互转换)
  • 华为OD机试真题【羊狼农夫过河】
  • 【线性代数-3Blue1Brown】- 5 三维空间的线性变换
  • Maven入门教程(二):idea/Eclipse使用Maven
  • 【MySQL】MySQL里的用户账户和角色是什么?如何管理?
  • vbs病毒
  • 用Java实现Huffman编码
  • day-04 基于UDP的服务器端/客户端
  • FFmpeg rtp rtp_mpegts的区别
  • 【链表OJ】相交链表 环形链表1
  • DevOps之自动化测试
  • Java 程序打印 OpenCV 的版本
  • ChatGPT⼊门到精通(2):ChatGPT 能为我们做什么
  • 线程和进程的区别是什么?
  • 力扣27.移除元素
  • 指针(个人学习笔记黑马学习)
  • vue 路由动态加载
  • 电脑识别不了固态硬盘怎么办?
  • QCustomPlot 绘制卡顿问题
  • uni-app开发小程序,radio单选按钮,点击可以选中,再次点击可以取消
  • 【Qt专栏】实现单例程序,禁止程序多开的几种方式
  • 力扣26. 删除有序数组中的重复项
  • 【机器学习】鸢尾花分类-逻辑回归示例
  • Flink CDC介绍
  • Java集合sort排序报错UnsupportedOperationException处理
  • 安防监控/磁盘阵列存储/视频汇聚平台EasyCVR调用rtsp地址返回的IP不正确是什么原因?
  • Spring boot开启定时任务