零基础学习Python之循环详解:从入门到实践_我的学习Python记录11
一、前言
最近我在学习Python,发现很多编程概念和用法都让我感到陌生,尤其是循环这个概念。今天,我将分享我学到的循环知识,希望能帮助到和我一样的初学者。
二、循环的作用
循环是编程中用于重复执行代码块的结构,主要解决以下问题:
- 重复执行相同/相似操作(如批量处理数据)
- 遍历集合元素(如列表、字典)
- 实现持续运行直到满足特定条件
三、循环的分类
Python提供两种循环结构:
- while循环 - 基于条件判断的循环
- for循环 - 遍历可迭代对象的循环
四、while循环详解
1. 基本语法
while 条件表达式:
循环体代码
2. 使用示例
# 示例1:计数器循环
count = 0 # 初始化计数器
while count < 5: # 当count小于5时执行循环
print(f"这是第 {count+1} 次循环") # 打印当前循环次数
count += 1 # 计数器加1
# 输出结果:
# 这是第 1 次循环
# 这是第 2 次循环
# ...
# 这是第 5 次循环
# 示例2:输入验证
password = "" # 初始化密码变量
while password != "123456": # 当密码不等于"123456"时执行循环
password = input("请输入密码:") # 提示用户输入密码
print("登录成功!") # 循环结束后打印成功信息
3. 注意事项
- 必须设置循环终止条件,否则会无限循环
- 通过修改条件变量控制循环次数
- 可使用
Ctrl+C
强制终止无限循环
五、break与continue
1. break语句
立即终止整个循环的执行
# 示例:遇到3时终止循环
num = 1 # 初始化变量
while num <= 5: # 当num小于等于5时执行循环
if num == 3: # 如果num等于3
break # 终止循环
print(num) # 打印当前num值
num += 1 # num加1
# 输出结果:
# 1
# 2
2. continue语句
跳过当前循环,进入下一次迭代
# 示例:跳过偶数
num = 0 # 初始化变量
while num < 5: # 当num小于5时执行循环
num += 1 # num加1
if num % 2 == 0: # 如果num是偶数
continue # 跳过本次循环
print(num) # 打印当前num值
# 输出结果:
# 1
# 3
# 5
六、嵌套循环
1. 基本结构
while 外层条件:
while 内层条件:
内层循环体
外层循环体
2. 使用示例
# 打印九九乘法表
i = 1 # 外层循环变量
while i <= 9: # 外层循环条件
j = 1 # 内层循环变量
while j <= i: # 内层循环条件
print(f"{j}×{i}={i*j}", end="\t") # 打印乘法表达式
j += 1 # 内层循环变量加1
print() # 换行
i += 1 # 外层循环变量加1
# 输出效果:
# 1×1=1
# 1×2=2 2×2=4
# 1×3=3 2×3=6 3×3=9
# ...
七、for循环详解
1. 基本语法
for 变量 in 可迭代对象:
循环体代码
2. 使用示例
# 示例1:遍历列表
fruits = ["apple", "banana", "cherry"] # 定义一个水果列表
for fruit in fruits: # 遍历列表中的每个元素
print(f"我喜欢吃{fruit}") # 打印当前水果
# 示例2:遍历字符串
for char in "Python": # 遍历字符串中的每个字符
print(char, end="-") # 打印字符并用"-"分隔
# 示例3:配合range使用
for num in range(3, 8, 2): # 生成3到8(不含)的整数,步长为2
print(num) # 打印当前数字
3. range()函数详解
range(stop)
:生成0到stop-1的整数range(start, stop)
range(start, stop, step)
八、循环对比总结
特征 | while循环 | for循环 |
---|---|---|
使用场景 | 不确定循环次数时使用 | 已知迭代次数/遍历集合时使用 |
条件检查 | 每次迭代前检查条件 | 自动处理迭代次数 |
典型应用 | 用户输入验证、游戏主循环 | 遍历数据集合、固定次数循环 |
九、实战练习
练习题:打印菱形图案
使用循环打印如下菱形图案:
*
***
*****
*******
*****
***
*
提示:
- 使用
for
循环和range
函数 - 外层循环控制行数,内层循环控制空格和星号
- 注意上下部分的对称性
以下是打印菱形图案的完整代码及其详细解释:
# 定义菱形的高度(上半部分的行数)
height = 4
# 打印上半部分
for i in range(height): # 遍历每一行
# 打印空格:每行的空格数为 height - i - 1
for j in range(height - i - 1):
print(" ", end="")
# 打印星号:每行的星号数为 2 * i + 1
for k in range(2 * i + 1):
print("*", end="")
# 换行
print()
# 打印下半部分
for i in range(height - 2, -1, -1): # 遍历每一行,从 height-2 到 0
# 打印空格:每行的空格数为 height - i - 1
for j in range(height - i - 1):
print(" ", end="")
# 打印星号:每行的星号数为 2 * i + 1
for k in range(2 * i + 1):
print("*", end="")
# 换行
print()
代码运行结果
*
***
*****
*******
*****
***
*
代码解析
-
上半部分:
- 外层循环控制行数,从
0
到height-1
。 - 内层第一个循环打印空格,空格数随行数增加而减少。
- 内层第二个循环打印星号,星号数随行数增加而增加。
- 外层循环控制行数,从
-
下半部分:
- 外层循环控制行数,从
height-2
到0
。 - 内层第一个循环打印空格,空格数随行数减少而增加。
- 内层第二个循环打印星号,星号数随行数减少而减少。
- 外层循环控制行数,从
关键点
- 空格数:
height - i - 1
,确保星号居中。 - 星号数:
2 * i + 1
,确保星号数量呈奇数增长。 - 循环范围:下半部分的循环范围是
range(height - 2, -1, -1)
,确保对称性。
扩展练习
- 修改代码,让用户输入菱形的高度。
- 尝试打印空心菱形(只打印边框)。
- 使用
while
循环实现相同的功能。
十、总结
通过这篇博文,我们学习了Python中while循环和for循环的基本用法,以及如何通过break
和continue
控制循环流程。循环是编程中非常重要的工具,能够帮助我们高效处理重复性任务。希望这篇博文能帮助你更好地理解循环的概念,并在实际编程中灵活运用!
如果你有任何问题或建议,欢迎在评论区留言!让我们一起进步! 🚀