Python循环语句案例如何基础编写

wen python案例 29

从零掌握Python循环语句:基础案例与实战精讲

目录导读

  1. 循环语句的核心价值与类型概述
  2. for循环:遍历序列的万能钥匙
  3. while循环:条件驱动的重复执行
  4. 循环控制语句:break、continue与else
  5. 嵌套循环:处理多维数据场景
  6. 经典基础案例实战演练
  7. 常见错误与调试技巧
  8. 问答环节

循环语句的核心价值与类型概述

在Python编程中,循环语句是解决重复性任务的核心武器,无论是处理列表数据、读取文件内容,还是构建游戏逻辑,循环都能让代码从冗长的手动操作中解放出来,Python提供两种基本循环结构:for循环while循环

Python循环语句案例如何基础编写

  • for循环:主要用于遍历序列(如列表、元组、字符串)或可迭代对象,执行次数由序列长度决定。
  • while循环:基于条件判断,只要条件为True就持续执行,适用于循环次数未知的场景。

初学者需要先理解“循环”的本质:重复执行一段代码块,直到满足某个终止条件,下面我们将通过具体案例,一步步掌握它们的写法。


for循环:遍历序列的万能钥匙

1 基础语法结构

for 变量 in 可迭代对象:
    执行代码块

案例1:遍历列表

fruits = ["苹果", "香蕉", "橘子"]
for fruit in fruits:
    print(f"我喜欢吃{fruit}")
# 输出:
# 我喜欢吃苹果
# 我喜欢吃香蕉
# 我喜欢吃橘子

2 配合range()函数生成数字序列

range(start, stop, step)用于生成整数序列,常与for结合控制循环次数。
案例2:打印1到5的数字

for i in range(1, 6):  # 注意:range不包含stop值6
    print(i)

输出: 1 2 3 4 5

要点提示:

  • range(5)生成0~4(共5个数)
  • range(1,10,2)生成1,3,5,7,9(步长为2)

3 遍历字符串的每个字符

word = "Python"
for char in word:
    print(char, end=" ")  # end参数控制输出不换行
# 输出:P y t h o n

while循环:条件驱动的重复执行

1 基础语法与风险控制

while 条件表达式:
    执行代码块

案例3:计算1+2+...+100的和

total = 0
i = 1
while i <= 100:
    total += i
    i += 1  # 计数器递增,避免无限循环
print(f"总和是:{total}")  # 输出:5050

2 无限循环与终止机制

忘记更新循环条件会导致无限循环

while True:  # 故意制造无限循环
    print("我停不下来了!")
    user_input = input("输入'q'退出:")
    if user_input == 'q':
        break  # 使用break强制退出

实用技巧:while True中加入break条件,常用于菜单交互或游戏主循环。


循环控制语句:break、continue与else

1 break:立即跳出整个循环

for i in range(10):
    if i == 5:
        break
    print(i)  # 只输出0,1,2,3,4

2 continue:跳过本次循环剩余代码

for i in range(5):
    if i == 2:
        continue
    print(i)  # 输出0,1,3,4(跳过了2)

3 循环的else子句:无break中断时执行

for num in range(2, 10):
    for factor in range(2, num):
        if num % factor == 0:
            break
    else:  # 注意缩进:属于内层for循环
        print(f"{num}是质数")

嵌套循环:处理多维数据场景

嵌套循环指一个循环内部包含另一个循环,常用于矩阵遍历或生成复杂模式。

案例4:打印9×9乘法表

for i in range(1, 10):
    for j in range(1, i+1):  # 内层循环范围动态变化
        print(f"{j}×{i}={i*j}", end="\t")
    print()  # 每行结束后换行

输出效果:

1×1=1   
1×2=2   2×2=4   
1×3=3   2×3=6   3×3=9   
...

注意: 嵌套循环的时间复杂度是乘积关系,嵌套3层以上需谨慎设计。


经典基础案例实战演练

案例5:猜数字游戏(while循环应用)

import random
target = random.randint(1, 100)
guess_count = 0
while True:
    guess = int(input("请输入你猜的数字(1-100): "))
    guess_count += 1
    if guess < target:
        print("小了!")
    elif guess > target:
        print("大了!")
    else:
        print(f"恭喜你猜对了!用了{guess_count}次")
        break

案例6:列表元素去重(for+条件判断)

original = [1,2,2,3,3,3,4]
unique = []
for item in original:
    if item not in unique:
        unique.append(item)
print(unique)  # 输出:[1,2,3,4]

案例7:文件逐行读取(for循环遍历文件对象)

with open("example.txt", "r", encoding="utf-8") as f:
    for line in f:
        print(line.strip())  # 去掉末尾换行符

常见错误与调试技巧

1 典型错误

错误类型 错误代码示例 正确写法
忘记缩进 for i in range(5): print(i) for i in range(5): print(i)
无限循环 while i < 10: 但缺少i += 1 确保循环变量更新
迭代时修改列表 for item in list: list.remove(item) 使用列表切片复制for item in list[:]

2 调试技巧

  • print中间值:在循环体内部打印关键变量的当前值
  • 使用断点调试:在IDE中设置断点,逐行观察变量变化
  • 使用列表推导式替代简单循环[x**2 for x in range(10)] 比等价for循环更简洁高效

问答环节

Q1:for循环和while循环应该怎么选择?
A:遍历已知序列(如列表、字符串)或固定次数时优先用for;当循环次数依赖动态条件(如直到用户输入特定值)时用while,两者可互相转换,但for可读性更高。

Q2:为什么我的循环会跳过某些元素?
A:常见原因是在遍历列表时同时修改了它的长度,例如用for item in list:遍历时执行list.remove(item)会导致索引错位,正确做法是遍历列表的副本list[:],或使用列表推导式。

Q3:如何优化嵌套循环的效率?
A:将内层循环中不变的计算提取到外层;使用setdict等哈希表替代全量遍历;考虑用itertools模块的product替代多层for,例如判断元素是否存在时,if item in set_dataif item in list_data快得多。

Q4:循环中的else子句有什么用?
A:它只在循环正常结束(未被break中断)时执行,特别适合搜索失败的场景,例如在列表中查找素数,找到就break,没找到就执行else输出“未找到”。


通过以上循序渐进的基础案例学习,你应该已经掌握了Python循环语句的核心写法,建议将文中案例亲自动手敲一遍,并尝试修改参数观察输出变化,循环是编程的骨架,扎实掌握后,后续的函数定义、文件操作、爬虫开发等高级内容都会变得顺畅自然,当你遇到重复性工作时,用循环解决问题,而不是用手工复制粘贴

抱歉,评论功能暂时关闭!