目录
专栏导读
🌸 欢迎来到Python办公自动化专栏—Python处理办公问题,解放您的双手
🏳️🌈 博客主页:请点击——> 一晌小贪欢的博客主页求关注
👍 该系列文章专栏:请点击——>Python办公自动化专栏求订阅
🕷 此外还有爬虫专栏:请点击——>Python爬虫基础专栏求订阅
📕 此外还有python基础专栏:请点击——>Python基础学习专栏求订阅
文章作者技术和水平有限,如果文中出现错误,希望大家能指正🙏
❤️ 欢迎各位佬关注! ❤️
目录
循环语句概述
-
循环语句是编程中的重要概念,它允许我们重复执行一段代码,直到满足特定条件为止。Python3提供了两种主要的循环语句:
-
for循环:用于遍历序列(如列表、元组、字符串)或其他可迭代对象
-
while循环:在给定条件为真时重复执行代码块
循环的优势
- 减少代码重复
- 提高代码效率
- 处理大量数据
- 实现复杂的逻辑控制
for循环详解
基本语法
for 变量 in 可迭代对象:
# 循环体
执行语句
1. 遍历列表
# 示例1:遍历数字列表
numbers = [1, 2, 3, 4, 5]
for num in numbers:
print(f"数字: {num}")
# 示例2:遍历字符串列表
fruits = ["苹果", "香蕉", "橙子"]
for fruit in fruits:
print(f"水果: {fruit}")
2. 遍历字符串
# 遍历字符串中的每个字符
text = "Python"
for char in text:
print(f"字符: {char}")
3. 使用range()函数
# range(stop) - 从0开始到stop-1
for i in range(5):
print(f"索引: {i}")
# range(start, stop) - 从start开始到stop-1
for i in range(2, 8):
print(f"数字: {i}")
# range(start, stop, step) - 指定步长
for i in range(0, 10, 2):
print(f"偶数: {i}")
4. 遍历字典
student = {"姓名": "张三", "年龄": 20, "专业": "计算机科学"}
# 遍历键
for key in student:
print(f"键: {key}")
# 遍历值
for value in student.values():
print(f"值: {value}")
# 遍历键值对
for key, value in student.items():
print(f"{key}: {value}")
5. enumerate()函数
# 同时获取索引和值
colors = ["红色", "绿色", "蓝色"]
for index, color in enumerate(colors):
print(f"索引 {index}: {color}")
# 指定起始索引
for index, color in enumerate(colors, start=1):
print(f"第 {index} 个颜色: {color}")
while循环详解
基本语法
while 条件:
# 循环体
执行语句
# 更新条件(重要!)
1. 基本while循环
# 示例1:计数循环
count = 0
while count < 5:
print(f"计数: {count}")
count += 1 # 重要:更新计数器
# 示例2:用户输入循环
password = ""
while password != "123456":
password = input("请输入密码: ")
if password != "123456":
print("密码错误,请重试!")
print("密码正确!")
2. 无限循环与break
# 无限循环示例
while True:
user_input = input("输入'quit'退出: ")
if user_input == 'quit':
break
print(f"你输入了: {user_input}")
3. while-else语句
# while-else:循环正常结束时执行else
num = 1
while num <= 3:
print(f"数字: {num}")
num += 1
else:
print("循环正常结束")
嵌套循环
1. for循环嵌套
# 打印乘法表
for i in range(1, 4):
for j in range(1, 4):
print(f"{i} × {j} = {i*j}", end="\t")
print() # 换行
2. while循环嵌套
# 二维数组遍历
matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
i = 0
while i < len(matrix):
j = 0
while j < len(matrix[i]):
print(matrix[i][j], end=" ")
j += 1
print() # 换行
i += 1
3. 混合嵌套
# for和while混合嵌套
for i in range(3):
print(f"外层循环 {i}:")
count = 0
while count < 2:
print(f" 内层循环 {count}")
count += 1
循环控制语句
1. break语句
# break:立即退出循环
for i in range(10):
if i == 5:
break
print(i)
print("循环结束")
# 在嵌套循环中使用break
for i in range(3):
for j in range(3):
if j == 1:
break # 只退出内层循环
print(f"i={i}, j={j}")
2. continue语句
# continue:跳过当前迭代,继续下一次迭代
for i in range(10):
if i % 2 == 0: # 跳过偶数
continue
print(f"奇数: {i}")
# 在while循环中使用continue
count = 0
while count < 10:
count += 1
if count % 3 == 0:
continue
print(f"不是3的倍数: {count}")
3. pass语句
# pass:空操作,占位符
for i in range(5):
if i < 3:
pass # 暂时不做任何操作
else:
print(f"处理数字: {i}")
# 在函数或类定义中使用pass
def future_function():
pass # 稍后实现
class FutureClass:
pass # 稍后实现
实践练习
练习1:数字猜谜游戏
import random
# 生成1-100之间的随机数
secret_number = random.randint(1, 100)
guess_count = 0
max_guesses = 7
print("欢迎来到数字猜谜游戏!")
print(f"我想了一个1-100之间的数字,你有{max_guesses}次机会猜中它。")
while guess_count < max_guesses:
try:
guess = int(input("请输入你的猜测: "))
guess_count += 1
if guess == secret_number:
print(f"恭喜!你猜中了!数字是{secret_number}")
print(f"你用了{guess_count}次猜中。")
break
elif guess < secret_number:
print("太小了!")
else:
print("太大了!")
remaining = max_guesses - guess_count
if remaining > 0:
print(f"还有{remaining}次机会")
except ValueError:
print("请输入有效的数字!")
else:
print(f"游戏结束!正确答案是{secret_number}")
练习2:打印图案
# 打印直角三角形
rows = 5
for i in range(1, rows + 1):
for j in range(i):
print("*", end="")
print()
print()
# 打印等腰三角形
for i in range(1, rows + 1):
# 打印空格
for j in range(rows - i):
print(" ", end="")
# 打印星号
for k in range(2 * i - 1):
print("*", end="")
print()
练习3:质数检测
def is_prime(n):
"""检测一个数是否为质数"""
if n < 2:
return False
for i in range(2, int(n ** 0.5) + 1):
if n % i == 0:
return False
return True
# 找出1-100之间的所有质数
primes = []
for num in range(1, 101):
if is_prime(num):
primes.append(num)
print("1-100之间的质数:")
for i, prime in enumerate(primes):
print(f"{prime:3d}", end=" ")
if (i + 1) % 10 == 0: # 每行显示10个数字
print()
练习4:简单计算器
def calculator():
"""简单计算器"""
print("简单计算器")
print("支持的操作: +, -, *, /, quit")
while True:
try:
operation = input("\n请输入操作 (+, -, *, /, quit): ").strip()
if operation.lower() == 'quit':
print("谢谢使用!")
break
if operation not in ['+', '-', '*', '/']:
print("无效操作!请输入 +, -, *, / 或 quit")
continue
num1 = float(input("请输入第一个数字: "))
num2 = float(input("请输入第二个数字: "))
if operation == '+':
result = num1 + num2
elif operation == '-':
result = num1 - num2
elif operation == '*':
result = num1 * num2
elif operation == '/':
if num2 == 0:
print("错误:除数不能为零!")
continue
result = num1 / num2
print(f"结果: {num1} {operation} {num2} = {result}")
except ValueError:
print("错误:请输入有效的数字!")
except Exception as e:
print(f"发生错误: {e}")
# 运行计算器(取消注释下面一行来运行)
# calculator()
总结
循环语句要点回顾
-
for循环
- 适用于已知迭代次数或遍历序列
- 语法简洁,易于理解
- 常与range()、enumerate()等函数配合使用
-
while循环
- 适用于未知迭代次数的情况
- 需要注意避免无限循环
- 条件更新很重要
-
循环控制
break
:立即退出循环continue
:跳过当前迭代pass
:空操作占位符
-
嵌套循环
- 可以实现复杂的逻辑控制
- 注意性能影响
- 控制语句只影响最近的循环层
最佳实践
-
选择合适的循环类型
- 遍历序列用for循环
- 条件控制用while循环
-
避免无限循环
- 确保循环条件会发生变化
- 在while循环中更新控制变量
-
优化性能
- 避免不必要的嵌套循环
- 在循环外定义不变的变量
- 合理使用break和continue
-
代码可读性
- 使用有意义的变量名
- 适当添加注释
- 保持代码结构清晰
进阶学习建议
- 学习列表推导式和生成器表达式
- 了解itertools模块的高级迭代工具
- 掌握异常处理在循环中的应用
- 学习递归作为循环的替代方案
恭喜你完成了Python3循环语句的全面学习! 🎉
通过本教程,你已经掌握了:
- for循环和while循环的基本用法
- 循环控制语句的使用
- 嵌套循环的实现
- 实际项目中的应用技巧
继续练习和应用这些知识,你将能够编写更加高效和优雅的Python代码!
-
希望对初学者有帮助;致力于办公自动化的小小程序员一枚
-
希望能得到大家的【❤️一个免费关注❤️】感谢!
-
求个 🤞 关注 🤞 +❤️ 喜欢 ❤️ +👍 收藏 👍
-
此外还有办公自动化专栏,欢迎大家订阅:Python办公自动化专栏
-
此外还有爬虫专栏,欢迎大家订阅:Python爬虫基础专栏
-
此外还有Python基础专栏,欢迎大家订阅:Python基础学习专栏