当前位置:首页>python>从零开始学python-for循环语句

从零开始学python-for循环语句

  • 2026-08-26 17:24:36
从零开始学python-for循环语句

Hi~新朋友,记得点上面蓝字(网虫root)关注哟~

前言:

   主要分享的是Python版本为Python3的内容。

1. for循环简介:

Python中的for循环用于遍历序列(如列表、元组、字符串)或可迭代对象。for循环的执行过程是:依次取出序列中的每个元素,然后执行循环体中的代码。for循环是Python中最常用的循环结构之一,适用于已知迭代次数的场景。

2. 基本语法:

for 变量 in 可迭代对象:    # 循环体代码块    # 每次循环都会执行这里的代码

3. 流程图:

4. 基础示例:

示例 1:遍历列表

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

示例 2:遍历字符串

①. 遍历字符串中的每个字符word = "Python"print("单词 'Python' 的每个字母:")for letter in word:    print(f"  {letter}")# 输出:# 单词 'Python' 的每个字母:#   P#   y#   t#   h#   o#   n

示例 3:计算列表元素总和

①. 计算考试成绩总分scores = [85, 92, 78, 90, 88]total = 0for score in scores:    total += scoreaverage = total / len(scores)print(f"总分:{total}")print(f"平均分:{average:.2f}")# 输出:# 总分:433# 平均分:86.60

示例 4:计算斐波那契数列

# 计算前10个斐波那契数a, b = 0, 1for _ in range(10):    print(a, end=" ")    a, b = b, a + b

5. 使用 range() 函数:

🎯range() 函数语法

range(stop)                     # 生成 0 到 stop-1 的整数序列range(start, stop)             # 生成 start 到 stop-1 的整数序列range(start, stop, step)       # 生成 start 到 stop-1 的整数序列,步长为 step

🧭参数说明:

  • start:起始值(包含),默认为 0

  • stop:结束值(不包含)

  • step:步长(增量),默认为 1

⚡注意事项:

  • range() 返回的是一个可迭代对象,不是列表

  • 如果需要列表,可以使用 list(range(...)) 转换

  • 步长可以是负数,表示递减序列

示例 1:使用 range() 生成数字序列

①. 打印 1 到 5 的数字print("数字 1 到 5:")for i in range(1, 6):    print(i)# 输出:# 数字 1 到 5:# 1# 2# 3# 4# 5②. 指定步长print("\n10 以内的偶数:")for i in range(0, 11, 2):    print(i)# 输出:# 10 以内的偶数:# 0# 2# 4# 6# 8# 10

示例 2:使用 range() 遍历列表索引

①. 通过索引遍历列表colors = ["红色", "绿色", "蓝色", "黄色", "紫色"]print("颜色列表及其位置:")for i in range(len(colors)):    print(f"  位置 {i}: {colors[i]}")# 输出:# 颜色列表及其位置:#   位置 0: 红色#   位置 1: 绿色#   位置 2: 蓝色#   位置 3: 黄色#   位置 4: 紫色

6. 使用 enumerate() 同时获取索引和值:

🌅enumerate() 函数语法

enumerate(iterable, start=0)   # 返回一个枚举对象

🏆参数说明:

  • iterable:任何可迭代对象(如列表、元组、字符串等)

  • start:索引的起始值,默认为 0

🌐返回值:

  • 返回一个枚举对象,该对象生成由索引和对应值组成的元组

🌐工作原理:

  • enumerate() 函数将可迭代对象转换为一个包含索引和对应值的元组序列,便于在循环中同时获取索引和值。

🏙示例:

①. 同时获取索引和值programming_languages = ["Python", "Java", "C++", "JavaScript", "Go"]print("编程语言及其排名:")for index, language in enumerate(programming_languages, start=1):    print(f"  第 {index} 名: {language}")# 输出:# 编程语言及其排名:#   第 1 名: Python#   第 2 名: Java#   第 3 名: C++#   第 4 名: JavaScript#   第 5 名: Go

7. for-else 语句:

🔥语法:

for 变量 in 可迭代对象:    # 循环体代码块    # 如果循环中没有遇到 break 语句,则执行 else 块else:    # 循环正常结束后执行的代码

🎯说明:

  • 当循环正常执行完毕(即没有通过 break 跳出循环)时,会执行 else 后面的代码块

  • 如果循环中遇到 break 而提前退出,则 else 块不会执行

🚀for-else 语句流程图:

🌳示例:

①. 查找质数print("查找 10 到 20 之间的质数:")for num in range(10, 21):    for i in range(2, num):        if num % i == 0:            print(f"{num} 不是质数")            break    else:        print(f"{num} 是质数")# 输出:# 查找 10 到 20 之间的质数:# 10 不是质数# 11 是质数# 12 不是质数# 13 是质数# 14 不是质数# 15 不是质数# 16 不是质数# 17 是质数# 18 不是质数# 19 是质数# 20 不是质数

8. 嵌套 for 循环:

🎭语法:

for 变量1 in 可迭代对象1:    # 外层循环代码块    for 变量2 in 可迭代对象2:        # 内层循环代码块

🧭说明:

  • 外层循环每执行一次,内层循环会完整地执行一遍

  • 常用于处理多维数据,如二维列表、矩阵等

🧰嵌套 for 循环流程图(以两层为例):

示例 1:打印乘法表

①. 打印 1-3 的乘法表print("1-3 的乘法表:")for i in range(1, 4):    for j in range(1, 4):        result = i * j        print(f"{i} × {j} = {result}", end="\t")    print()  # 换行# 输出:# 1-3 的乘法表:# 1 × 1 = 1	1 × 2 = 2	1 × 3 = 3	# 2 × 1 = 2	2 × 2 = 4	2 × 3 = 6	# 3 × 1 = 3	3 × 2 = 6	3 × 3 = 9

示例 2:列表推导式(简化的 for 循环)

使用列表推导式创建新列表numbers = [1, 2, 3, 4, 5]①. 生成平方数列表squares = [x**2 for x in numbers]print(f"原始列表:{numbers}")print(f"平方数列表:{squares}")②. 生成偶数列表evens = [x for x in numbers if x % 2 == 0]print(f"偶数列表:{evens}")# 输出:# 原始列表:[1, 2, 3, 4, 5]# 平方数列表:[1, 4, 9, 16, 25]# 偶数列表:[2, 4]

9. 遍历字典:

①. 遍历字典的键值对student_scores = {"张三": 85, "李四": 92, "王五": 78, "赵六": 90}print("学生成绩:")for name, score in student_scores.items():    if score >= 90:        grade = "优秀"    elif score >= 80:        grade = "良好"    elif score >= 70:        grade = "中等"    else:        grade = "待提高"    print(f"  {name}: {score}分 ({grade})")# 输出:# 学生成绩:#   张三: 85分 (良好)#   李四: 92分 (优秀)#   王五: 78分 (中等)#   赵六: 90分 (优秀)

10. 注意事项:

  • 不要在循环中修改正在遍历的列表:这可能导致意外行为。如果需要修改,可以遍历列表的副本或使用列表推导式创建新列表。

  • 使用合适的变量名:使用有意义的变量名可以使代码更易读。

  • 注意循环的终止条件:特别是使用 range() 时,记住 range(start, stop) 不包括 stop 值。

  • 避免无限循环:确保循环有明确的终止条件。

  • 使用 zip() 同时遍历多个序列:

names = ["小明", "小红", "小刚"]ages = [18, 17, 19]scores = [85, 92, 88]print("学生信息:")for name, age, score in zip(names, ages, scores):    print(f"  姓名:{name},年龄:{age},成绩:{score}")# 输出:# 学生信息:#   姓名:小明,年龄:18,成绩:85#   姓名:小红,年龄:17,成绩:92#   姓名:小刚,年龄:19,成绩:88
  • for循环中的变量在循环结束后仍然保留最后一次的值。

  • 可以使用else语句在循环正常结束后执行代码。

  • range()函数的参数可以是range(start, stop, step),其中start默认为0,step默认为1。

11. 与while循环的区别:

for循环:适用于已知迭代次数的场景,通常用于遍历序列。

while循环:适用于条件满足时重复执行,通常用于未知迭代次数的场景。

【微语】情绪稳定不是没情绪,是知道跟谁诉苦有用,跟谁抱怨多余。

网虫root

期待你的

分享

点赞

在看

最新文章

随机文章