当前位置:首页python > 正文

野牛程序员让你一文读懂 Python range(),再也不被边界坑哭!

作者:野牛程序员:2025-03-14 10:27:41python阅读 2080
野牛程序员让你一文读懂 Python range(),再也不被边界坑哭!

🎯 野牛程序员让你一文读懂 Python range(),再也不被边界坑哭!

💡 range() 是 Python 中的一个神奇函数,常用于 for 循环,但很多人总是在边界上踩坑!今天一次讲清楚,让 for 循环更丝滑!


🚀 range() 是什么?

range() 是 Python 内置的一个生成整数序列的函数,常用于 for 循环。它的基本格式是:

range(start, stop, step)
  • start:起始值,包含这个数(默认是 0)。

  • stop:结束值,不包含这个数!(很多人容易踩坑)

  • step:步长,决定每次增加多少(默认是 1)。

🌟 野牛程序员讲基础用法

📌 只有一个参数 stop

for i in range(5):
    print(i)

💡 注意range(5) 默认从 0 开始,到 5 之前 结束,也就是 不包含 5

输出:

0
1
2
3
4

📌 指定起始值 start

for i in range(2, 6):
    print(i)

输出:

2
3
4
5

🎯 记住start=2stop=6,所以包含 2,不包含 6


🔥 step 步长的秘密

📌 正步长

for i in range(1, 10, 2):  # 从 1 开始,每次加 2,直到小于 10
    print(i)

输出:

1
3
5
7
9

💡 步长为正数时,必须满足 start < stop,否则 for 循环不会执行!

📌 负步长

for i in range(10, 0, -2):  # 从 10 开始,每次减 2,直到大于 0
    print(i)

输出:

10
8
6
4
2

💡 步长为负数时,必须满足 start > stop,否则啥也不会输出!


😱 range() 常见坑

❌ 停止值不包含

for i in range(1, 5):
    print(i)

输出:

1
2
3
4

💡 坑点range(1, 5) 不会打印 5,因为 stop不包含的!

❌ 负步长方向错误

for i in range(1, 10, -1):  # 这是错误的!
    print(i)

啥也不输出!🚨
💡 坑点:步长是 -1,但 start=1 < stop=10,方向反了,Python 直接罢工!

step=0 会崩溃

for i in range(1, 5, 0):  # 这是错误的!
    print(i)

💥 会报错:ValueError: range() arg 3 must not be zero
💡 坑点:步长 step 不能是 0,否则会陷入死循环!


🛠 range() + for 的高级玩法

📌 用 range() 生成索引

names = ["Alice", "Bob", "Charlie"]
for i in range(len(names)):  # `range(len(列表))` 生成索引
    print(f"第 {i} 个人是 {names[i]}")

输出:

第 0 个人是 Alice
第 1 个人是 Bob
第 2 个人是 Charlie

🎯 range(len(列表)) 遍历索引,让代码更灵活!

📌 range() 结合 list() 转换

print(list(range(5)))

输出:

[0, 1, 2, 3, 4]

💡 range() 只是个“生成器”,要变成列表,得用 list(range())

📌 反向遍历

for i in range(5, 0, -1):
    print(i)

输出:

5
4
3
2
1

🎯 步长 -1range() 倒序执行,非常实用!


🎉 野牛程序员总结

range() 是 Python for 循环的好搭档,但它的边界规则经常让人迷惑: ✅ stop 不包含range(1, 5) 只到 4
步长 step 不能是 0,否则直接炸!💥
负步长要 start > stop,否则啥也不输出!

💡 学会 range(),轻松掌控 for 循环,让代码更高效!🚀


野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
  • 野牛程序员让你一文读懂 Python range(),再也不被边界坑哭!
  • 相关推荐

    最新推荐

    热门点击