> 技术文档 > 一文读懂Python循环语句

一文读懂Python循环语句

在这里插入图片描述

🙋‍♀️ 个人主页:颜颜yan_
本期精彩:一文读懂Python循环语句
🏆 热门专栏:零基础玩转Python爬虫:手把手教你成为数据猎人
🚀 专栏亮点:零基础友好 | 实战案例丰富 | 循序渐进教学 | 代码详细注释
💡 学习收获:掌握爬虫核心技术,成为数据采集高手,开启你的数据科学之旅!

🔥 如果觉得文章有帮助,别忘了点赞👍 收藏⭐ 关注🚀,你的支持是我创作的最大动力!


文章目录

  • 前言
  • while语句
    • 基本语法
    • 基本while循环
    • 计算累加和
    • 无限循环
  • while-else语句
  • for语句
    • 基本语法
    • 遍历列表
    • 遍历字符串
    • 使用range()函数
    • 遍历字典
    • 使用enumerate()函数
  • for-else语句
  • break和continue语句
    • break语句
      • 在while循环中使用break
      • 在for循环中使用break
    • continue语句
      • 在while循环中使用continue
      • 在for循环中使用continue
  • 进阶应用
    • 嵌套循环
    • 列表推导式
      • 传统方法 vs 列表推导式对比
  • 实际应用案例
    • 斐波那契数列计算
    • 文本词频统计分析
  • 🎯 与我一起学习成长
    • 📚 专栏推荐
    • 💬 期待与你交流

前言

循环是编程中最基本也是最强大的控制结构之一,它允许我们重复执行特定的代码块,直到满足某个条件为止。Python提供了两种主要的循环结构:while循环和for循环,以及用于控制循环执行的breakcontinue语句。本文将详细讲解这些循环结构的语法和使用方法,并通过实例展示其在实际编程中的应用。
一文读懂Python循环语句


while语句

while语句是一种先判断的循环结构,首先测试条件表达式,如果值为true,则执行语句组,如果条件表达式为false,则忽略语句组,继续执行后面的语句。

从流程图可以看出,while循环的执行过程是一个不断判断条件的循环过程:

  1. 首先判断条件表达式
  2. 如果条件为真,执行循环体,然后回到条件判断
  3. 如果条件为假,直接跳出循环

一文读懂Python循环语句

基本语法

while 条件表达式: 语句组

基本while循环

# 打印1到5的数字count = 1while count <= 5: print(count) count += 1

一文读懂Python循环语句

计算累加和

# 计算1到100的和total = 0num = 1while num <= 100: total += num num += 1 print(f\"1到100的和是: {total}\")

一文读懂Python循环语句

无限循环

有时我们需要创建无限循环,然后在循环体内部使用条件语句来跳出循环:

# 模拟简单的菜单系统while True: print(\"\\n===== 菜单 =====\") print(\"1. 查看信息\") print(\"2. 修改设置\") print(\"3. 退出程序\") choice = input(\"请输入选项 (1-3): \") if choice == \'1\': print(\"显示信息...\") elif choice == \'2\': print(\"修改设置...\") elif choice == \'3\': print(\"程序已退出\") break else: print(\"无效的选项,请重试\")

一文读懂Python循环语句

while-else语句

Python的while循环可以包含else子句,当循环条件变为False时,else子句将被执行。

# 查找列表中的元素numbers = [1, 3, 5, 7, 9]target = 6index = 0while index < len(numbers): if numbers[index] == target: print(f\"找到目标数字{target},位置是{index}\") break index += 1else: print(f\"列表中不存在数字{target}\")

一文读懂Python循环语句

for语句

python语言中for语句用于遍历序列类型,序列包括字符串、列表和元组。

for循环的执行流程更加直观:

  1. 获取序列的第一个元素
  2. 判断序列中是否还有元素
  3. 如果有,执行循环体,然后获取下一个元素
  4. 如果没有,结束循环
    一文读懂Python循环语句

基本语法

for 迭代变量 in 序列: 语句组

序列表示所有的实现序列的类型都可以使用for循环。迭代变量是从序列中迭代取出的元素。

遍历列表

# 遍历水果列表fruits = [\"苹果\", \"香蕉\", \"橙子\", \"草莓\", \"葡萄\"]for fruit in fruits: print(f\"我喜欢吃{fruit}\")

一文读懂Python循环语句

遍历字符串

# 遍历字符串中的字符message = \"Python\"for char in message: print(char)

一文读懂Python循环语句

使用range()函数

range()函数可以生成一个数字序列,常用于for循环中:

# 打印平方数for i in range(1, 6): # 生成1到5的序列 square = i ** 2 print(f\"{i}的平方是{square}\")

一文读懂Python循环语句

遍历字典

# 遍历字典的键值对student = { \"name\": \"李明\", \"age\": 18, \"grade\": \"高三\", \"score\": 95}for key, value in student.items(): print(f\"{key}: {value}\")

一文读懂Python循环语句

使用enumerate()函数

enumerate()函数可以同时获取索引和元素:

# 使用enumerate()获取索引和元素colors = [\"红\", \"橙\", \"黄\", \"绿\", \"蓝\", \"紫\"]for index, color in enumerate(colors): print(f\"第{index+1}个颜色是{color}色\")

一文读懂Python循环语句

for-else语句

与while循环类似,for循环也可以带有else子句,当for循环正常结束时(不是通过break跳出)执行else子句:

# 检查列表中的奇数numbers = [2, 4, 6, 8, 10]for num in numbers: if num % 2 != 0: print(f\"找到奇数: {num}\") breakelse: print(\"列表中没有奇数\")

一文读懂Python循环语句

break和continue语句

break和continue语句是控制循环执行流程的重要工具,它们的执行流程如下图所示:
一文读懂Python循环语句

break语句

break语句可用于while或for循环,它的作用是强行退出循环体,不再执行循环体中剩余的语句。

在while循环中使用break

# 查找第一个能被7整除的数i = 1while i <= 100: if i % 7 == 0: print(f\"找到了第一个能被7整除的数: {i}\") break i += 1

一文读懂Python循环语句

在for循环中使用break

# 查找特定元素并停止names = [\"张三\", \"李四\", \"王五\", \"赵六\", \"钱七\"]search_name = \"王五\"for name in names: if name == search_name: print(f\"找到了{search_name}!\") break print(f\"检查: {name}\")

一文读懂Python循环语句

continue语句

continue语句用来结束本次循环,跳过循环体中尚未执行的语句,接着进行终止条件的判断,以决定是否继续循环。

在while循环中使用continue

# 打印1到10中除了5以外的所有数字num = 0while num < 10: num += 1 if num == 5: continue print(f\"当前数字: {num}\")

一文读懂Python循环语句

在for循环中使用continue

# 打印所有不包含\'e\'的单词words = [\"apple\", \"banana\", \"orange\", \"grape\", \"kiwi\"]for word in words: if \'e\' in word: continue print(f\"{word} 不包含字母\'e\'\")

一文读懂Python循环语句

进阶应用

嵌套循环

循环可以嵌套使用,即在一个循环内部包含另一个循环。下面通过九九乘法表来演示嵌套循环的应用:

  • 外层循环控制行数(i从1到9)
  • 内层循环控制每行的列数(j从1到i)
  • 每个内层循环完成后,外层循环进入下一次迭代
  • 形成阶梯状的乘法表结构
# 打印乘法表for i in range(1, 10): for j in range(1, i+1): print(f\"{j}×{i}={i*j}\", end=\"\\t\") print() # 换行

一文读懂Python循环语句

列表推导式

列表推导式是Python的一个强大特性,可以用简洁的语法创建列表。

传统方法 vs 列表推导式对比

1. 创建平方数列表的对比:

传统方法:

squares_traditional = []for x in range(1, 11): squares_traditional.append(x**2)# 结果: [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

列表推导式:

squares_comprehension = [x**2 for x in range(1, 11)]# 结果: [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

2. 过滤偶数的对比:

传统方法:

numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]even_traditional = []for x in numbers: if x % 2 == 0: even_traditional.append(x)# 结果: [2, 4, 6, 8, 10]

列表推导式:

even_comprehension = [x for x in numbers if x % 2 == 0]# 结果: [2, 4, 6, 8, 10]

3. 复杂的列表推导式:

# 创建一个包含平方数的字典square_dict = {x: x**2 for x in range(1, 6)}print(square_dict)# 从字符串列表中提取长度大于4的单词并转换为大写words = [\"python\", \"java\", \"c\", \"javascript\", \"go\", \"rust\"]long_words = [word.upper() for word in words if len(word) > 4]print(long_words)

一文读懂Python循环语句

实际应用案例

斐波那契数列计算

斐波那契数列是一个经典的数学序列,每个数都是前两个数的和。通过for循环,我们可以高效地计算这个数列:

def fibonacci(n): \"\"\"生成斐波那契数列的前n个数\"\"\" if n <= 0: return [] elif n == 1: return [0] elif n == 2: return [0, 1] fib_series = [0, 1] # 初始化前两个数 # 从第3个数开始计算 for i in range(2, n): next_number = fib_series[i-1] + fib_series[i-2] fib_series.append(next_number) return fib_series# 计算并显示斐波那契数列fib_15 = fibonacci(15)print(f\"斐波那契数列的前15个数: {fib_15}\")

一文读懂Python循环语句
小知识:斐波那契数列中,相邻两项的比值会逐渐趋向于黄金比例 φ ≈ 1.618,这是一个非常有趣的数学现象。
一文读懂Python循环语句

文本词频统计分析

在自然语言处理和数据分析中,词频统计是一个常见的任务。通过循环,我们可以高效地统计文本中各个词汇的出现频率。

  1. 遍历文本中的每个字符和单词
  2. 统计每个词汇的出现次数
  3. 过滤和排序高频词汇
  4. 生成可视化数据
def chinese_word_frequency(text): \"\"\"统计中文文本中各词语出现的频率\"\"\" import re # 定义常见的中文词汇模式 chinese_words = re.findall(r\'[\\u4e00-\\u9fff]+\', text) english_words = re.findall(r\'[a-zA-Z]+\', text) # 进一步分析中文词汇(简单的2-3字词分割) analyzed_words = [] for word in chinese_words: if len(word) >= 2: # 提取常见词汇 for i in range(len(word) - 1): if i + 2 <= len(word):  analyzed_words.append(word[i:i+2]) if i + 3 <= len(word):  analyzed_words.append(word[i:i+3]) # 添加英文单词 for word in english_words: analyzed_words.append(word.lower()) # 统计频率 frequency = {} for word in analyzed_words: if len(word) >= 2: # 只考虑长度>=2的词 frequency[word] = frequency.get(word, 0) + 1 return frequency# 测试文本sample_text = \"\"\"Python是一种广泛使用的高级编程语言,Python的设计具有很强的可读性。相比其他语言经常使用英文关键字,其他语言的一些标点符号,Python具有相对简单的语法。相对其他动态类型语言,Python拥有相对较少的关键字。Python的核心哲学总结起来就是:优美胜于丑陋,明了胜于晦涩,简洁胜于复杂。Python开发者的哲学是用一种方法,最好是只有一种方法来做一件事。Python是一种解释型语言,Python可以应用于多个领域。\"\"\"# 统计单词频率word_count = chinese_word_frequency(sample_text)# 过滤高频词并排序frequent_words = {word: count for word, count in word_count.items() if count >= 2}sorted_words = sorted(frequent_words.items(), key=lambda x: x[1], reverse=True)print(\"高频词汇统计结果(出现次数 ≥ 2):\")for word, count in sorted_words: print(f\"\'{word}\' 出现了 {count} 次\")

一文读懂Python循环语句


🎯 与我一起学习成长

掌握循环结构是编程的基础,它们使得我们能够高效地处理重复任务和数据集合。通过本文的示例和案例,希望您对Python的循环结构有了更深入的了解,并能在实际开发中灵活运用这些知识。循环不仅是编程的基础工具,更是解决复杂问题的强大武器!🐍✨

我是颜颜yan_,一名专注于技术分享的博主。如果这篇文章对你有帮助,欢迎关注我的更多精彩内容!

📚 专栏推荐

  • 零基础玩转Python爬虫:手把手教你成为数据猎人
  • 鸿蒙HarmonyOS:探索未来智能生态新纪元

💬 期待与你交流

  • 有疑问?欢迎在评论区留言讨论
  • 想深入学习?关注我获取更多优质教程
  • 觉得有用?别忘了点赞👍 收藏⭐ 关注🚀

在这里插入图片描述