适合对象:零编程基础的大一新生 课程目标:理解迭代概念,掌握for循环和while循环的基本用法,能通过迭代处理简单数据。
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.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.1 while循环基础
理论:
当条件为True时重复执行代码块。
需手动修改条件变量,避免无限循环。
示例:
count = 0while count < 3: print(f"倒计时:{3 - count}") count += 1避坑指南:忘记更新条件变量会导致死循环!
3.2 while vs for——何时用哪种?
while循环模拟用户登录,最多尝试3次。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_val4.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}")for循环适合已知结构的数据,while循环适合动态条件。for循环轻松遍历。for循环计算1到100的和。findMinAndMax函数,使其能处理空列表并返回(None, None)。课程特色: