前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Python入门第十二讲】循环语句

【Python入门第十二讲】循环语句

原创
作者头像
GoBoy
发布2024-02-07 14:53:38
18702
代码可运行
发布2024-02-07 14:53:38
举报
运行总次数:2
代码可运行

循环语句在 Python 中是控制程序重复执行特定代码块的重要工具。Python 提供了两种主要的循环语句:for 循环和 while 循环。

while 循环

while 循环用于在条件为真的情况下重复执行特定的代码块,直到条件变为假为止。

语法格式:

代码语言:python
代码运行次数:0
复制
while 条件:
    # 执行的代码块

在这个语法结构中,条件 是一个表达式,如果它的值为 True,则执行循环体中的代码块,直到条件变为 False 为止。

示例:

代码语言:python
代码运行次数:0
复制
count = 0
while count < 5:
    print(count)
    count += 1

上述示例中,count 的初始值为 0,然后在每次迭代中递增 1,直到 count 的值达到 5 为止。

循环语句还可以与 break 和 continue 语句结合使用,用于在循环中执行跳出循环或继续下一次迭代的操作。

这就是 Python 中循环语句的基本概念和语法。它们是编写重复性任务的重要工具,可以使代码更加简洁和高效。

while - else 循环语句

while-else 循环语句结合了 while 循环和 else 条件,提供了一种在 while 循环完成后执行一些特定操作的方法。在 Python 中,else 分支在循环完成时执行,除非循环中使用了 break 语句跳出循环。

基本语法:

代码语言:python
代码运行次数:0
复制
while 条件:
    # 循环体代码
else:
    # 循环正常结束后执行的代码

在这个语法结构中,当 while 循环中的条件为真时,循环体代码会被执行。一旦循环条件为假,或者通过 break 语句退出循环,程序将执行 else 分支中的代码。

while-else用法:

代码语言:python
代码运行次数:0
复制
count = 0
while count < 5:
    print(count)
    count += 1
else:
    print("Loop completed successfully!")

这个示例中,当 count 小于 5 时,循环体代码被执行,count 逐渐增加。一旦 count 达到 5 或更高,while 循环条件不再为真,因此程序执行 else 分支中的代码,打印出 "Loop completed successfully!"。

需要注意的是,如果在 while 循环中使用了 break 语句跳出循环,那么 else 分支将不会被执行,因为循环并没有正常完成。

while-else 循环语句对于在循环结束后执行一些特定的操作非常有用,例如检查循环是否完成或执行一些清理操作。

for 循环

for 循环用于针对序列(如列表、元组、字符串等)中的每个元素重复执行特定代码块,直到序列中的所有元素都被处理完为止。

语法格式:

代码语言:python
代码运行次数:0
复制
for 变量 in 序列:
    # 执行的代码块

这个语法结构中,变量 是在每次迭代中分配给序列中的当前元素的变量。序列 是要迭代的对象,它可以是列表、元组、字符串等。

示例:

代码语言:python
代码运行次数:0
复制
fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
    print(fruit)

for - else 循环语句

for-else 循环语句结合了 for 循环和 else 条件,提供了一种在 for 循环正常完成后执行一些特定操作的方法。

在 Python 中,else 分支在循环完成时执行,除非循环中使用了 break 语句跳出循环。

基本语法:

代码语言:python
代码运行次数:2
复制
for 变量 in 序列:
    # 循环体代码
else:
    # 循环正常结束后执行的代码

在语法结构中,for 循环会迭代序列中的每个元素,并执行循环体代码。一旦循环遍历完整个序列,或者通过 break 语句跳出循环,程序将执行 else 分支中的代码。

for-else 用法:

代码语言:python
代码运行次数:0
复制
numbers = [1, 2, 3, 4, 5]
for num in numbers:
    print(num)
else:
    print("Loop successfully!")

上诉示例中,for 循环遍历了 numbers 列表中的所有元素,并打印出每个数字。一旦循环结束,程序执行 else 分支中的代码,打印出 "Loop successfully!"。

for-else 循环语句对于在循环结束后执行一些特定的操作非常有用,例如检查循环是否完成或执行一些清理操作。

for 循环中的 range 函数

range() 函数是 Python 中常用的函数之一,用于生成指定范围内的整数序列。

for 循环中,range() 函数经常被用来控制循环的次数或者遍历序列。

range() 基本语法:

代码语言:python
代码运行次数:0
复制
range(start, stop, step)
  • start: 序列的起始值,默认为 0。
  • stop: 序列的结束值(不包含该值)。
  • step: 序列的步长,默认为 1。

range() 函数生成的序列包含起始值但不包含结束值,步长表示相邻两个数之间的间隔,默认为 1。

range() 函数用法:

  • 生成一个从 0 到 4 的整数序列:
代码语言:javascript
复制
for i in range(5):
    print(i)

输出:

代码语言:python
代码运行次数:0
复制
0
1
2
3
4
  • 生成一个从 2 到 10(不包含 10)的整数序列,步长为 2:
代码语言:python
代码运行次数:0
复制
for i in range(2, 10, 2):
    print(i)

输出:

代码语言:python
代码运行次数:0
复制
2
4
6
8
  • 反向遍历一个序列,从 10 到 1(不包含 1):
代码语言:python
代码运行次数:0
复制
for i in range(10, 0, -1):
    print(i)

输出:

代码语言:python
代码运行次数:0
复制
10
9
8
7
6
5
4
3
2
1

range() 函数经常与 for 循环结合使用,用于控制循环的次数或者生成指定范围的序列。

循环语句嵌套使用

循环语句的嵌套使用是指在一个循环语句内部嵌套另一个或多个循环语句。

这种嵌套可以是 for 循环嵌套 for 循环;

也可以是 for 循环嵌套 while 循环;

甚至是 while 循环嵌套 while 循环。

嵌套循环通常用于处理复杂的数据结构、多维数组或者需要对数据进行多层遍历的情况。在嵌套循环中,外层循环的每次迭代都会触发内层循环的完整迭代。

嵌套循环来遍历二维列表:

代码语言:python
代码运行次数:0
复制
matrix = [
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9]
]

for row in matrix:
    for item in row:
        print(item, end=' ')
    print()  # 换行

输出结果为:

代码语言:python
代码运行次数:0
复制
1 2 3 
4 5 6 
7 8 9 

外层循环遍历了 matrix 列表的每一行,内层循环遍历了每一行中的元素。通过嵌套循环,我们可以方便地处理二维数据结构。

需要注意的是,在嵌套循环中要谨慎控制循环次数和迭代顺序,以免导致不必要的计算或者性能问题。

循环语句中的 break 语句

break 语句是 Python 中用于控制循环流程的关键字之一,它的作用是在循环执行过程中提前结束循环,即使循环条件尚未达到终止条件。当执行到 break 语句时,循环会立即终止,并且程序会跳出循环体,继续执行循环之后的代码。

break 语句通常与条件语句配合使用,用来检查某些条件是否满足,一旦条件满足就结束循环。它在循环体内的任何位置都可以使用。

break 语句使用:

代码语言:python
代码运行次数:0
复制
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9]

for number in numbers:
    print(number)
    if number == 5:
        break

我们遍历了一个数字列表,并在每次迭代时打印当前数字。当数字等于 5 时,我们使用 break 语句终止了循环。因此,当程序执行到数字 5 时,循环立即终止,后续的数字不会被打印出来。

break 语句非常有用,特别是在需要在满足特定条件时立即结束循环的情况下。然而,过度使用 break 语句可能会使代码变得难以理解和维护,应该谨慎使用。

循环语句中的 continue 语句

continue 语句是 Python 中用于控制循环流程的关键字之一,它的作用是在循环执行过程中跳过当前迭代的剩余部分,直接进入下一次循环迭代。

当程序执行到 continue 语句时,循环体中 continue 语句之后的代码不再执行,而是立即进行下一次循环迭代,跳过了当前迭代中 continue 语句之后的所有代码。

continue 语句通常与条件语句配合使用,用来检查某些条件是否满足,一旦条件满足就跳过当前迭代。它在循环体内的任何位置都可以使用。

continue 语句使用:

代码语言:python
代码运行次数:0
复制
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9]

for number in numbers:
    if number % 2 == 0:
        continue
    print(number)

我们遍历了一个数字列表,并使用条件语句检查每个数字是否为偶数。如果数字是偶数,则使用 continue 语句跳过当前迭代的剩余部分,直接进入下一次迭代。因此,只有奇数才会被打印出来。

continue 语句可以帮助简化循环结构,并且通常用于在满足特定条件时跳过当前迭代。但过度使用 continue 语句可能会使代码变得难以理解和维护,应谨慎使用。

循环语句中的 pass 语句

pass 是 Python 中的一个特殊语句,它通常用于表示“什么也不做”,相当于一个空操作。在循环语句中,pass 可以占位,表示暂时不执行任何操作,保持代码的完整性和结构。

当你在编写代码时,可能需要在某些情况下先定义一个循环结构,但是暂时不想在循环体中添加任何操作,这时就可以使用 pass 语句。它可以在语法上保持代码的完整性,同时避免因为没有循环体而导致的语法错误。

pass 语句应用:

代码语言:python
代码运行次数:0
复制
numbers = [1, 2, 3, 4, 5]

for number in numbers:
    if number % 2 == 0:
        pass
    else:
        print(number)

以上遍历了一个数字列表,并使用条件语句检查每个数字是否为奇数。如果数字是偶数,则执行 pass 语句,什么也不做;如果数字是奇数,则执行 print(number) 语句,将奇数打印出来。

pass 语句在编写代码时非常有用,它允许你先搭建好程序的框架,再逐步完善细节部分,提高了代码的灵活性和可维护性。

无限循环

无限循环是指在程序中创建一个循环结构,其条件永远为真,因此循环会无限地执行下去,直到程序被强制停止或出现异常为止。

在 Python 中,可以使用 while 循环来创建一个无限循环。通常情况下会在循环的条件部分使用一个始终为真的条件,例如 True

无限循环示例:

代码语言:python
代码运行次数:0
复制
while True:
    print("This loop will run forever!")

示例中while True: 创建了一个永远为真的条件。因此,循环体中的代码会一直执行,打印出字符串 "This loop will run forever!"。这个循环将会一直执行下去,直到程序被手动中断或者出现异常。

无限循环有时可以用于服务器端编程、事件监听和某些特定的应用场景,但在大多数情况下,我们需要小心使用它们,以免造成程序的死循环,导致资源耗尽或程序失去响应。因此,在编写无限循环时,一定要确保有合适的中断条件或者退出机制,以保证程序的可控性和稳定性。

扩展 - 列表推导式

列表推导式(List Comprehension)是一种简洁的方法,用于根据现有列表创建新列表。它提供了一种更简洁、更易读的方式来生成列表,可以在一行代码中完成对列表的转换、过滤和操作。

基本语法:

代码语言:python
代码运行次数:0
复制
[expression for item in iterable if condition]
  • expression 是对每个元素的操作或表达式;
  • item 是可迭代对象中的每个元素;
  • iterable 是可迭代对象,如列表、元组、集合等;
  • if condition 是可选的条件,用于过滤元素。

使用列表推导式:

  • 将列表中的每个元素加倍:
代码语言:python
代码运行次数:0
复制
numbers = [1, 2, 3, 4, 5]
doubled_numbers = [x * 2 for x in numbers]
print(doubled_numbers)  # 输出: [2, 4, 6, 8, 10]
  • 过滤出列表中的偶数:
代码语言:python
代码运行次数:0
复制
numbers = [1, 2, 3, 4, 5]
even_numbers = [x for x in numbers if x % 2 == 0]
print(even_numbers)  # 输出: [2, 4]
  • 将字符串列表中的每个字符串转换为大写:
代码语言:python
代码运行次数:0
复制
words = ["apple", "banana", "cherry"]
uppercase_words = [word.upper() for word in words]
print(uppercase_words)  # 输出: ['APPLE', 'BANANA', 'CHERRY']
  • 生成由一系列数字的平方组成的列表:
代码语言:python
代码运行次数:0
复制
squares = [x ** 2 for x in range(1, 6)]
print(squares)  # 输出: [1, 4, 9, 16, 25]

列表推导式可以使代码更加简洁和优雅,但在使用时需要注意不要过度复杂化,以确保代码的可读性和可维护性。

猜词游戏

游戏规则很简单:计算机从预先定义的词汇列表中随机选择一个词,玩家需要猜测这个词是什么。游戏会提示玩家猜测的词是太长了还是太短了,直到猜中为止。

编写游戏:

代码语言:python
代码运行次数:0
复制
import random

# 预定义的词汇列表
words = ["apple", "banana", "orange", "grape", "watermelon", "pineapple"]

# 生成随机词汇
secret_word = random.choice(words)

print("欢迎来到猜词游戏!")
print("我从预定义的词汇列表中选择了一个词。")

while True:
    # 玩家猜测的词
    guess = input("请输入你猜测的词:")

    if len(guess) < len(secret_word):
        print("太短了,请再试一次!")
    elif len(guess) > len(secret_word):
        print("太长了,请再试一次!")
    elif guess != secret_word:
        print("不对哦,请再试一次!")
    else:
        print("恭喜你,你猜对了!")
        break

print(f"答案是 {secret_word}。游戏结束。谢谢参与!")

这段代码首先导入了Python的random模块,然后定义了一个预先定义的词汇列表words,接着使用random.choice(words)从词汇列表中随机选择一个词作为秘密词。游戏开始后,玩家通过输入猜测的词来参与游戏。游戏会根据玩家猜测的词给出相应的提示,直到玩家猜中为止。游戏还会在玩家猜中后公布答案。

我正在参与2024腾讯技术创作特训营第五期有奖征文,快来和我瓜分大奖!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • while 循环
    • 语法格式:
      • 示例:
      • while - else 循环语句
        • 基本语法:
          • while-else用法:
          • for 循环
            • 语法格式:
              • 示例:
              • for - else 循环语句
                • 基本语法:
                  • for-else 用法:
                  • for 循环中的 range 函数
                    • range() 基本语法:
                      • range() 函数用法:
                      • 循环语句嵌套使用
                        • 嵌套循环来遍历二维列表:
                        • 循环语句中的 break 语句
                          • break 语句使用:
                          • 循环语句中的 continue 语句
                            • continue 语句使用:
                            • 循环语句中的 pass 语句
                              • pass 语句应用:
                              • 无限循环
                                • 无限循环示例:
                                • 扩展 - 列表推导式
                                  • 基本语法:
                                    • 使用列表推导式:
                                    • 猜词游戏
                                      • 编写游戏:
                                      领券
                                      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
                                      http://www.vxiaotou.com