当前位置:首页>python>课程四:Python迭代入门——从零到一掌握循环魔法

课程四:Python迭代入门——从零到一掌握循环魔法

  • 2026-10-11 08:44:50
课程四:Python迭代入门——从零到一掌握循环魔法

适合对象:零编程基础的大一新生  课程目标:理解迭代概念,掌握for循环和while循环的基本用法,能通过迭代处理简单数据。


课程大纲

模块1:什么是迭代?——用循环遍历世界

1.1 迭代初体验

  • 理论:

  • 迭代 = 重复做一件事,直到满足条件(如数数、查字典)。

  • Python中用for … in实现迭代,比C语言的下标循环更简单。

  • 示例:

    # 遍历列表fruits = ["苹果", "香蕉", "橙子"]for fruit in fruits:  print("我喜欢吃:" + fruit)
  • 趣味练习:用for循环打印你的课程表(如“周一:高数”)。

1.2 可迭代对象大揭秘

  • 理论:

  • 可迭代对象:能用for循环遍历的东西(列表、字典、字符串等)。

  • 用isinstance(对象, Iterable)判断是否可迭代。

  • 示例:

    from collections.abc import Iterableprint(isinstance("hello", Iterable))  # Trueprint(isinstance(123, Iterable))     # False
  • 动手实验:尝试用for循环遍历字典的键、值、键值对。


模块2:for 循环实战——玩转数据遍历

2.1 遍历不同数据类型

  • 列表/元组:按顺序访问每个元素。

    scores = [90, 85, 95]for score in scores:  print("成绩:" + str(score))
  • 字典:默认遍历键,用.values()遍历值,.items()遍历键值对。

    student = {"name": "张三", "age": 20}for key, value in student.items():  print(f"{key}: {value}")
  • 字符串:逐个字符处理。

    for char in"Python":  print(char.upper())  # 输出大写字母

2.2 带索引的迭代——enumerate登场

  • 问题:如何同时获取元素的索引和值?(类似Java的下标循环)

  • 解决方案:用enumerate生成索引-元素对。

    for i, fruit in enumerate(["苹果", "香蕉"]):  print(f"第{i}个水果是{fruit}")
  • 练习:用enumerate打印班级同学的学号和姓名。


模块3:while 循环——条件满足就继续

3.1 while循环基础

  • 理论:

  • 当条件为True时重复执行代码块。

  • 需手动修改条件变量,避免无限循环。

  • 示例:

    count = 0while count < 3:  print(f"倒计时:{3 - count}")  count += 1
  • 避坑指南:忘记更新条件变量会导致死循环!

3.2 while vs for——何时用哪种?

  • for 循环
    :已知迭代次数或遍历可迭代对象。
  • while 循环
    :不确定迭代次数,依赖动态条件(如用户输入、传感器数据)。
  • 案例
    :用while循环模拟用户登录,最多尝试3次。

模块4:综合练习——用迭代解决实际问题

4.1 查找列表中的最大值和最小值

  • 任务:编写函数findMinAndMax(L),返回列表的最小值和最大值。

  • 提示:

  • 初始化min_val和max_val为列表第一个元素。

  • 用for循环遍历剩余元素,更新min_val和max_val。

  • 代码框架:

    deffindMinAndMax(L):ifnot L:  # 处理空列表returnNone, None  min_val = L[0]  max_val = L[0]for num in L[1:]:if num < min_val:          min_val = numelif num > max_val:          max_val = numreturn min_val, max_val

4.2 统计字符串中的字母和数字

  • 任务:输入一个字符串,统计其中字母和数字的个数。

  • 提示:

  • 用for循环遍历每个字符。

  • 用char.isalpha()判断是否为字母,char.isdigit()判断是否为数字。

  • 代码示例:

    s = input("请输入字符串:")letters = 0digits = 0for char in s:if char.isalpha():      letters += 1elif char.isdigit():      digits += 1print(f"字母数:{letters},数字数:{digits}")

课程总结与作业

  1. 总结
    :
  • 迭代是重复处理数据的魔法,for循环适合已知结构的数据,while循环适合动态条件。
  • 可迭代对象包括列表、字典、字符串等,用for循环轻松遍历。
  1. 课后作业
    :
  • 编写程序,用for循环计算1到100的和。
  • 改进findMinAndMax函数,使其能处理空列表并返回(None, None)。
  1. 参考资料
    :

课程特色:

  • 从生活案例切入(如倒计时、课程表),降低理解难度。  
  • 每节包含代码示例和动手练习,强化实践。  
  • 避坑指南和对比总结,帮助新手少走弯路。

最新文章

随机文章