社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

Python 中的循环

小小的python学习社 • 1 月前 • 53 次点击  

Python 中有两种类型的循环:for 循环和 while 循环。

for 循环用于迭代序列(即列表、元组、集合、字典、字符串或任何其他可迭代对象),并对序列中的每个元素执行代码块。while 循环用于在某个条件为 true 的情况下重复执行代码块。在 while 循环中,条件在每次迭代的开始处检查,当条件变为 false 时,循环退出。务必确保条件最终变为 false,否则循环将无限期地继续运行,这称为无限循环。

Python 中的 for 循环语法

如何在 Python 中使用 for 循环遍历列表的一个示例

cars = ["bmw", "audi", "renault"]
for car in cars:
    print(car)

在此示例中,我们有一个汽车列表,我们希望在每一行打印一辆汽车。我们使用 for 循环迭代列表中的每个元素,并使用 print 函数将每个元素打印到控制台。

内联 for 循环

在此示例中,我们有一个 数字 列表,我们希望创建一个包含每个数字的平方的新列表。我们不使用传统的 for 循环,而是使用列表解析,这是一种更简洁的方法,可以达到相同的效果。

numbers = [1, 2, 3, 4, 5]
squares = [x**2 for x in numbers]
print(squares)

在此情况下,表达式为 x**2,这是迭代中当前数字的平方,可迭代对象是数字列表。列表解析的结果是一个包含每个数字平方的列表:[1, 4, 9, 16, 25]

带索引的 for 循环

在此示例中,loop 迭代 cars 列表,并打印每个元素的索引和值

cars = ["bmw", "audi", "renault"]
for i in range(len(cars)):
    print(i, cars[i])

使用循环在 Python 中实现幂函数

def power(a, b):
    pow = 1
    for i in range(b):
        pow *= a
    return pow

a = 2
b = 3
print(power(a, b))

Python 中的 while 循环

以下是一个 while 循环的示例,它从 1 计数到 10

count = 1
while count <= 10:
    print(count)
    count += 1

在此示例中,循环从 count 等于 1 开始。条件 count <= 10 为 true,因此循环中的代码将被执行。此代码打印 count 的值(当前为 1),然后使用 += 运算符将 count 增加 1。然后,循环再次检查条件,该条件仍然为 true,因为 count 现在为 2。此过程重复进行,直到 count 达到 11,此时条件变为 false,循环终止。

注意:Python 没有像其他一些编程语言那样的内置 do-while 循环。但是,你可以使用 while 循环和初始检查的组合来实现类似的功能。

break 和 continue 语句

在 Python 中,break 和 continue 是用于修改循环行为的保留关键字。它们允许你根据条件控制循环何时终止或跳过某些迭代。

示例:如何 break 一个 for 循环

numbers = [1, 2, 3, 4, 5]
for num in numbers:
    if num == 3:
        # end for loop
        break
    print(num)

在此示例中,循环遍历 numbers 列表并打印每个数字。但是,当 num 的值等于 3 时,break 语句结束 for 循环。输出将为:1 2

如何使用 continue 和 for 循环

另一方面,continue 用于根据条件跳过循环迭代。遇到它时,它会导致循环的当前迭代结束,并继续进行下一个迭代。以下是如何在 Python 中跳过 for 循环中的迭代的示例

numbers = [1, 2, 3, 4, 5]
for num in numbers:
    if num == 3:
        continue
    print(num)

在此示例中,循环遍历 numbers 列表并打印每个数字。但是,当 num 的值等于 3 时,执行 continue 语句,导致循环的当前迭代结束并继续进行下一个迭代。输出将为:1 2 4 5

while 循环中 continue 的示例

在 Python 中的 while 循环中使用 continue 是跳过循环的某些迭代并继续进行下一个迭代的一种方法。当你需要跳过循环中的某些值或条件时,这会很有用。

i = 0
while i < 10:
    i += 1
    if i % 2 == 0:
        continue
    print(i)

在此示例中,循环遍历 1 到 10 的数字。但是,当 i 的值是偶数时,触发 continue 语句,导致循环跳到下一个迭代,而不会在当前迭代中执行任何更多代码。

my_list = [1, 2, 3, 4, 5]
while my_list:
    val = my_list.pop()
    if val == 3:
        continue
    print(val)

在此示例中,循环遍历 my_list 中的值。当 val 的值等于 3 时,continue 语句会导致循环跳到下一个迭代,而不会打印该值。

如何中断 while 循环

要中断 Python 中的 while 循环,可以使用 break 语句。此语句负责停止循环进一步迭代,只要满足某个条件。在 while 循环中使用 break 的语法如下

while :
    ### statements to be executed inside the loop

    if :
        break

此处,  是循环的条件,最初决定是否执行循环,而  是定义停止循环的条件的附加条件语句。一旦满足此条件,循环将自动终止,并且控制权将转移到循环后的下一条语句。

n = 1
while n <= 10:
    print(n)
    if n == 5:
        break
    n += 1
print("Loop Ended")

# Output:

# 1
# 2
# 3
# 4
# 5
# Loop Ended

在此示例中,while 循环将 print 从 1 到 5 的数字,然后在 n == 5 时 stopbreak 语句用于实现此目的,并且输出显示循环在完成所需条件的执行后结束。

如何在 Python 中停止无限循环

while True:
    value = input("Enter a number: ")
    if value == "stop":
        break
    print(int(value) ** 2)
print("Loop Ended")

# Output:
# Enter a number: 2
# 4
# Enter a number: 5
# 25
# Enter a number: 3
# 9
# Enter a number: stop
# Loop Ended

在此示例中,while 循环会不断要求用户输入一个 number,如果 input 是一个 number,则计算其平方。如果 input 是“stop”,则循环将中断,并且控制权将转移到循环后的语句。

此方法有助于避免 Python 中的无限循环,并根据特定条件控制执行流。

for 循环中的计数

要在 Python 中的 for 循环中计数,可以使用循环计数器变量。此变量会跟踪 for 循环执行的次数。以下是两个示例

count = 0
for i in range(10):
    count += 1
print("The loop executed", count, "times.")

在此示例中,我们创建一个变量 count 并将其初始值设置为 0。然后,我们使用 for 循环迭代 10 次,每次将 count 变量递增 1。最后,我们 print 出循环执行的总次数。

fruits = ['apple', 'banana', 'cherry']
for i, fruit in enumerate(fruits, 1):
    print(i, fruit)

在此示例中,我们使用内置 enumerate() 函数来遍历 fruits 列表及其索引。我们通过将第二个参数传递给 enumerate() 来将索引从 1 开始。在循环内部,我们 print 出索引和 fruit 名称。

通过使用循环计数器变量,您可以轻松跟踪 Python 中 for 循环执行的次数。这对于调试、测试和分析性能很有用。

嵌套循环

嵌套循环是放置在另一个循环内的循环。在 Python 中,嵌套循环主要用于遍历 数组、矩阵和多维 列表。它们对于解决涉及对嵌套结构的每个元素重复任务的问题很有用。

Python 中的嵌套 For 循环

Python 中最常见的嵌套循环类型是嵌套 for 循环。此循环用于使用两个或多个 for 语句遍历嵌套结构中的元素。

嵌套 for 循环的简单示例

numbers = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]

for row in numbers:
    for num in row:
        print(num)

在此示例中,我们有一个由多维列表表示的 3 x 3 矩阵。嵌套 for 循环遍历矩阵的元素,并在新行上打印每个数字。

Python 中的嵌套 while 循环

Python 中的嵌套 while 循环使用一个或多个内部循环来多次重复相同的过程。它们用于遍历嵌套数据结构的元素,直到满足某个条件。

嵌套 while 循环的示例

x = 1
y = 1

while x <= 5:
    y = 1
    while y <= x:
        print(y, end="")
        y += 1
    print()
    x += 1

在此示例中,我们使用两个嵌套 while 循环来 print 一个 numbers 三角形。外部 while 循环遍历三角形的每一 rowwhile 内部 while 循环遍历该行中的每个数字。

总体而言,嵌套循环是 Python 编程中的一个重要概念,它们可以通过遍历嵌套数据结构来帮助您解决复杂的问题。通过将嵌套 for 和 while 循环合并到您的代码中,您可以编写更高效、更易读且更强大的程序。

如何将 for 循环与 range 语句一起使用

Python 中的 range 语句 是一个内置函数,可用于生成数字序列。它通常在 for 循环中使用,以重复执行任务一定次数。以下是两个在 Python 中使用 range 语句的示例

for i in range(5):
    print(i)


for i in range(0, 10, 2):
    print(i)

在第一个示例中,for 循环用于遍历从 0 到 4 的数字范围。在第二个示例中,range 函数使用三个参数调用:起始数字 (0)、结束数字 (10) 和步长 (2)。这将生成一个从 0 到 10(不包括 10)的数字序列,步长为 2。然后,for 循环遍历此序列并打印每个数字。

反向 for 循环

for i in range(5, 0, -1):
    print(i)
# Output:
# 5
# 4
# 3
# 2
# 1
a = ['1', '2', '3', '4', '5']

for i in reversed(a):
    print(i)
# Output:
# 5
# 4
# 3
# 2
# 1

在 Python 中使用 range 语句是遍历数字序列并执行任务的有效方法。它是编程中常用的技术,并且很容易使用 Python 中的 for 循环来实现。

一行 for 循环

列表解析让用一行代码在 Python 中编写 for 循环变得更容易。使用单行循环可以帮助简化代码并使其更简洁。

squares = [x**2 for x in range(10)]
print(squares)

输出

[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
even_numbers = [num for num in range(20) if num % 2 == 0]
print(even_numbers)

# Output:

# [0, 2, 4, 6, 8, 10, 12, 14, 16, 18]

在两个示例中,for 循环都使用列表解析浓缩成一行。循环迭代一个值range并对给定的range 应用一个条件。这会生成一个包含所需输出的列表。

在 Python 中使用单行 for 循环是一个强大的工具,可以优化你的代码并提高其效率。

 结语 

关于Python技术储备

学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

整理出了一套系统的学习路线,这套资料涵盖了诸多学习内容:开发工具,基础视频教程,项目实战源码,51本电子书籍,100道练习题等。相信可以帮助大家在最短的时间内,能达到事半功倍效果,用来复习也是非常不错的。

👉Python学习路线汇总👈

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

👉Python学习视频合集👈

观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

在这里插入图片描述

👉实战案例👈

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

👉Python副业兼职路线&方法👈

学好 Python 不论是就业还是做副业赚钱都不错,但要学会兼职接单还是要有一个学习规划。

在这里插入图片描述

资料获取方式:↓↓↓↓
1.关注下方公众号↓↓↓↓,在后台发送:python 即可免费领取

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/181672
 
53 次点击