Python基础 : for循环和range函数

Python基础 : for循环和range函数



一、知识点详解

1.1 for循环

  1. for循环的作用

    • 用于重复执行特定次数的代码块。
    • 专门用来处理序列类型数据(如字符串、数字序列)。
  2. 基本语法结构

for 临时变量 in 可迭代对象:
    循环体代码
    
# 示例:遍历单词中的字母
for letter in "ABC":
    print(letter)
# 输出:
# A
# B
# C    

1.2 range()函数

  1. range的作用

    • 生成一组整数序列
    • 常用于控制循环次数
  2. 使用方式

使用方式示例生成序列(关键规则)
range(stop)range(3)0,1,2(默认步长1,start=0stop=3步长正数时要求 start < stop
range(start, stop)range(2,5)2,3,4(步长1,start=2 < stop=5
range(start, stop, step)range(1,10,3)1,4,7(步长3,正数,至 1+3n < 10 时停止)
特殊反向场景range(5, 1, -1)5,4,3,2(步长-1,负数,至 5-1n ≤ 1 时停止)

注意:
step > 0 时,必须 start < stop
step < 0 时,必须 start > stop,否则生成空序列(不执行循环)。

# 生成0 - 4的序列
for i in range(5):
    print(i, end=" ")  # 输出:0 1 2 3 4 

# 生成5 - 7的序列
for num in range(5,8):
    print(num, end=" ")  # 输出:5 6 7

1.3 for循环的常见应用

  • 重复固定次数
# 打印3次欢迎语
for _ in range(3):
    print("欢迎学习Python!")
  • 累加计算
# 计算1 + 2 + 3 + 4
total = 0
for num in range(1,5):
    total += num
print("总和:", total)  # 输出:10
  • 结合条件判断
# 找出10以内的偶数
for i in range(11):
    if i % 2 == 0:
        print(i, "是偶数")

1.4 for循环 VS while循环

对比项for循环while循环
循环变量管理自动获取序列中的值需要手动初始化并更新变量
适用场景明确循环次数/遍历序列不确定循环次数的条件循环
语法复杂度结构简单,不易出错需要维护循环条件,容易造成死循环

for循环控制语句:(与while循环相同)

break:提前终止循环。
continue:跳过当前循环。
else:循环正常结束后执行(非break中断时)

# 对比示例
# for循环实现
for i in range(3):
    print(i)  # 自动生成0,1,2

# while循环实现
j = 0
while j < 3:
    print(j)
    j += 1  # 必须手动增加

1.5 常见问题

  1. 为什么range(5)生成0 - 4
    计算机习惯从0开始计数,
    range()函数生成的数字序列, 遵循左闭右开原则, 即左侧包含, 右侧不包含
    记忆口诀 :range(n)生成n个数字(从0开始)

  2. 什么时候用下划线(_):当循环变量在代码中不需要使用时。

# 打印5次提示语
for _ in range(5):
    print("数据处理中...")
  1. 如何正确使用步长(step)?
# 错误(步长正数,start > stop,空序列)
range(5, 3)        # 等价于 range(5, 3, 1),生成空序列

# 正确(步长负数,start > stop,反向生成)
range(5, 3, -1)    # 生成 [5, 4]
  • step > 0 时,序列生成规则为 start, start+step, start+2*step, ...,直至值 ≥ stop 时停止;
  • step < 0 时,序列生成规则为 start, start+step, start+2*step, ...,直至值 ≤ stop 时停止。

二、说明示例

2.1 文本内容清洗

# 包含干扰特殊符号的英文单词
word = "#$Hel!lo@"

# 初始化空字符串用于存储清洗后的单词
cleaned_word = ""

# 遍历单词中的每个字符
for char in word:
    # 检查字符是否为字母
    if char.isalpha():
        # 如果是字母,添加到清洗后的单词中
        cleaned_word += char

print(f"原始带符号的单词: {word}")
print(f"清洗后的单词: {cleaned_word}")

2.2 打印乘法口诀表(for循环版本)

# 使用 for 循环实现九九乘法表
for i in range(1, 10):  # 外层循环控制行数(1到9)
    for j in range(1, i + 1):  # 内层循环控制每行的列数(1到i)
        print(f"{j}×{i}={i*j}", end="\t")  # 用制表符对齐
    print()  # 每行结束后换行

2.3 打印等腰三角形(for循环版本)

# 输入等腰三角形的高度(行数)
n = int(input("请输入等腰三角形的高度(行数):"))

# 外层循环控制行数
for i in range(1, n + 1):
    # 打印左侧空格(控制等腰对称性)
    for _ in range(n - i):
        print(" ", end="")
    
    # 打印星号(每行星号数 = 2*i - 1)
    for _ in range(2 * i - 1):
        print("*", end="")
    
    # 每行结束后换行
    print()

说明:
在乘法口诀表和等腰三角形的实现中,for 循环相比 while 循环在代码量以及可读性方面展现出明显优势。


三、知识点总结

  1. for循环:重复执行特定次数的代码块,专门处理序列类型数据。
  2. range():生成一组整数序列,常用于控制循环次数。
  3. 1.4 for循环 VS while循环
    • for 循环(遍历循环):适合处理“有明确目标元素”或“固定次数”的任务,语法简洁,聚焦元素操作。
    • while 循环(条件循环):适合处理“不确定次数”或“依赖条件判断”的任务,灵活性高,但需注意避免死循环。
  4. 易错点
    • range左闭右开range(n) 生成n个元素,从0开始。
    • 迭代变量作用域:循环外访问可能出错,避免依赖循环外的临时变量。
    • 可迭代对象类型:确保遍历的是序列(如字符串、列表),非序列类型(如整数)会报错。

四、识点考察题

count = 0
for _ in range(7, 3, 2):
    count += 1
print(count)

运行以上代码会打印多少个元素( )
A. 0
B. 1
C. 2
D. 3

答案:A. 0


关注公众号「安于欣」获取更多Python技巧
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值