feat(python基础): 新增循环与字符串教学课程
This commit is contained in:
103
01_python基础/1_6_循环/loops.py
Normal file
103
01_python基础/1_6_循环/loops.py
Normal file
@@ -0,0 +1,103 @@
|
||||
# 第 1-6 课示例:循环
|
||||
#
|
||||
# 本文件依次演示 for、range()、计数器、累加器、while、break 和 continue。
|
||||
# 每段示例都会直接运行,不要求用户输入,便于重复观察结果。
|
||||
|
||||
|
||||
# 一、使用 range(结束值)
|
||||
# range(3) 依次提供 0、1、2,不包含结束值 3。
|
||||
for number in range(3):
|
||||
print(f"range(3) 当前数字:{number}")
|
||||
|
||||
|
||||
# 二、指定开始值和结束值
|
||||
# range(1, 4) 依次提供 1、2、3,适合显示自然的次数编号。
|
||||
for day in range(1, 4):
|
||||
print(f"第 {day} 天:完成 Python 学习")
|
||||
|
||||
|
||||
# 三、指定步长
|
||||
# 从 0 开始,每次增加 2,在到达 11 前结束。
|
||||
for even_number in range(0, 11, 2):
|
||||
print(f"当前偶数:{even_number}")
|
||||
|
||||
|
||||
# 四、遍历字符串
|
||||
# for 会依次取得字符串中的每一个字符。
|
||||
for character in "Agent":
|
||||
print(f"当前字符:{character}")
|
||||
|
||||
|
||||
# 五、使用计数器
|
||||
# 计数器必须在循环外初始化,否则每次循环都会重新变为 0。
|
||||
completed_count = 0
|
||||
|
||||
for task_number in range(1, 6):
|
||||
completed_count += 1
|
||||
print(f"完成第 {task_number} 个任务")
|
||||
|
||||
print(f"任务完成总数:{completed_count}")
|
||||
|
||||
|
||||
# 六、使用累加器
|
||||
# daily_hours 表示五天的学习时长。
|
||||
# 列表会在后续课程详细讲解,本例只需知道 for 能依次取得其中的数字。
|
||||
daily_hours = [2.0, 1.5, 0.0, 2.5, 3.0]
|
||||
total_hours = 0.0
|
||||
|
||||
for hours in daily_hours:
|
||||
total_hours += hours
|
||||
|
||||
print(f"五天总学习时长:{total_hours} 小时")
|
||||
|
||||
|
||||
# 七、循环结合条件判断
|
||||
# 只有学习时长大于 0 的记录才算有效学习日。
|
||||
effective_days = 0
|
||||
|
||||
for hours in daily_hours:
|
||||
if hours > 0:
|
||||
effective_days += 1
|
||||
|
||||
print(f"有效学习日:{effective_days} 天")
|
||||
|
||||
|
||||
# 八、while 循环
|
||||
# 每次循环末尾增加 current_day,确保条件最终会变为 False。
|
||||
current_day = 1
|
||||
|
||||
while current_day <= 3:
|
||||
print(f"while 正在处理第 {current_day} 天")
|
||||
current_day += 1
|
||||
|
||||
|
||||
# 九、使用 continue 跳过无效数据
|
||||
# -1 表示无效记录;遇到它时跳过本次循环的剩余代码。
|
||||
learning_records = [2.0, -1.0, 1.5, 0.0]
|
||||
valid_total_hours = 0.0
|
||||
|
||||
for hours in learning_records:
|
||||
if hours == -1:
|
||||
print("发现无效记录,本次跳过")
|
||||
continue
|
||||
|
||||
valid_total_hours += hours
|
||||
|
||||
print(f"排除无效记录后的总时长:{valid_total_hours} 小时")
|
||||
|
||||
|
||||
# 十、使用 break 提前结束循环
|
||||
# 当 task_number 等于 4 时结束循环,因此不会处理第 4、5 个任务。
|
||||
for task_number in range(1, 6):
|
||||
if task_number == 4:
|
||||
print("收到停止信号,提前结束任务循环")
|
||||
break
|
||||
|
||||
print(f"正在处理第 {task_number} 个任务")
|
||||
|
||||
|
||||
# 十一、简单嵌套循环
|
||||
# 外层循环执行两次;每次都会让内层循环完整执行三次。
|
||||
for week in range(1, 3):
|
||||
for day in range(1, 4):
|
||||
print(f"第 {week} 周,第 {day} 天")
|
||||
Reference in New Issue
Block a user