1. 循环分支小练习概述
循环和分支是编程中最基础也最重要的两个概念,就像炒菜时的火候控制和调味一样关键。这个小练习适合刚入门编程的新手,通过实际代码示例来理解循环和分支结构的应用场景和实现方式。
我在教学过程中发现,很多初学者虽然能看懂for循环和if语句的语法,但一到实际应用就不知道如何下手。这个练习就是为了解决这个问题而设计的,通过几个典型场景的代码实现,帮助大家建立编程思维。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 循环结构详解
2.1 for循环的三种常见用法
for循环就像是一个自动计数器,可以帮我们重复执行某些操作。以下是三种最常用的for循环模式:
- 遍历数字范围:
python复制# 打印1到10的数字
for i in range(1, 11):
print(i)
- 遍历列表元素:
python复制fruits = ['apple', 'banana', 'orange']
for fruit in fruits:
print(fruit)
- 带索引的遍历:
python复制for index, fruit in enumerate(fruits):
print(f"第{index+1}个水果是{fruit}")
注意:range()函数的结束值是不包含的,所以range(1,11)实际产生1到10的数字。
2.2 while循环的实用技巧
while循环适合在不确定循环次数的情况下使用,就像"只要条件满足就继续做"的指令:
python复制count = 0
while count < 5:
print(f"这是第{count+1}次循环")
count += 1
实际项目中while循环常用于:
- 读取文件直到结束
- 等待某个条件满足
- 游戏主循环
常见陷阱是忘记更新循环条件导致无限循环。我建议在while循环开始前先想好退出条件。
3. 分支结构实战
3.1 基础if-else结构
if-else就像十字路口的红绿灯,决定程序执行哪条路径:
python复制age = 18
if age >= 18:
print("已成年")
else:
print("未成年")
3.2 多条件判断
当需要判断多个条件时,elif就派上用场了:
python复制score = 85
if score >= 90:
print("优秀")
elif score >= 80:
print("良好")
elif score >= 60:
print("及格")
else:
print("不及格")
提示:条件判断的顺序很重要,应该把最严格的条件放在前面。
3.3 嵌套分支结构
就像盒子套盒子,分支结构也可以嵌套:
python复制num = 15
if num % 2 == 0:
if num % 3 == 0:
print("能被2和3整除")
else:
print("只能被2整除")
else:
if num % 3 == 0:
print("只能被3整除")
else:
print("不能被2或3整除")
虽然嵌套可以实现复杂逻辑,但超过3层的嵌套会让代码难以理解。这时可以考虑用函数拆分逻辑。
4. 循环与分支的结合应用
4.1 找出100以内的质数
这是一个经典的循环+分支练习题:
python复制for num in range(2, 100):
is_prime = True
for i in range(2, int(num**0.5)+1):
if num % i == 0:
is_prime = False
break
if is_prime:
print(num, end=' ')
这个例子展示了:
- 外层循环遍历2到99
- 内层循环检查是否为质数
- if判断决定是否输出
4.2 简易计算器实现
python复制while True:
print("\n简易计算器")
print("1. 加法")
print("2. 减法")
print("3. 退出")
choice = input("请选择操作(1/2/3): ")
if choice == '3':
break
if choice in ('1', '2'):
num1 = float(input("输入第一个数字: "))
num2 = float(input("输入第二个数字: "))
if choice == '1':
print(f"结果: {num1 + num2}")
else:
print(f"结果: {num1 - num2}")
else:
print("无效输入")
这个例子结合了:
- while循环保持程序运行
- if-elif-else处理不同选项
- 嵌套分支执行具体计算
5. 常见问题与调试技巧
5.1 循环不执行的可能原因
- 循环条件初始就不满足
python复制count = 10
while count < 5: # 永远不会执行
print(count)
- range参数设置错误
python复制for i in range(5, 1): # 默认step是1,不会执行
print(i)
解决方法:可以在循环开始前打印条件值检查。
5.2 分支结构逻辑错误
常见于复杂条件判断时:
python复制score = 75
if score >= 60:
print("及格")
elif score >= 80: # 这个条件永远不会触发
print("良好")
正确的顺序应该是:
python复制if score >= 80:
print("良好")
elif score >= 60:
print("及格")
5.3 调试小技巧
- 使用print调试:
python复制for i in range(5):
print(f"循环开始,i={i}") # 调试输出
# ...其他代码
print(f"循环结束,i={i}") # 调试输出
-
使用断点调试(如VS Code的调试功能)
-
简化问题:当遇到复杂循环/分支问题时,先简化代码到最小可复现案例。
6. 进阶练习建议
掌握了基础之后,可以尝试以下练习来提升:
- 打印九九乘法表(嵌套循环)
- 实现一个猜数字游戏(循环+分支+随机数)
- 统计文本中元音字母出现的次数(循环遍历字符串+条件统计)
- 找出1000以内的所有完数(循环+条件判断+因数计算)
以九九乘法表为例:
python复制for i in range(1, 10):
for j in range(1, i+1):
print(f"{j}x{i}={i*j}", end='\t')
print() # 换行
这个练习能很好地训练嵌套循环的理解和应用。
我在教学过程中发现,很多初学者在完成这些练习后,对循环和分支的理解会有质的飞跃。关键是要动手实践,不要只看不写。遇到问题时,可以先把大问题拆解成小步骤,一步步实现。
