Day52:range()函数

embedded/2025/2/1 19:21:50/

在 Python 中,range() 是一个内置函数,用于生成一系列数字,通常用于循环结构中。它非常适合用于生成指定范围内的整数序列,并且支持步长控制,常用于 for 循环中。

今天我们将学习如何使用 range() 函数,并了解其常见用法。

1. range() 函数的基本用法

range() 函数可以生成一个整数序列,这些整数可以用来遍历。它的基本语法是:

python">range(start, stop, step)
  • start:序列的起始值,默认为 0。
  • stop:序列的结束值(不包括该值)。
  • step:序列中数字之间的步长,默认为 1。
示例:
python"># 生成从 0 到 4 的数字序列
for i in range(5):print(i)

输出:

0
1
2
3
4

在上面的例子中,range(5) 表示生成从 0 到 4 的整数序列,默认步长为 1。

2. 使用 startstop 参数

你可以通过指定 startstop 参数来控制生成的序列的范围。

示例:
python"># 生成从 3 到 7 的数字序列
for i in range(3, 8):print(i)

输出:

3
4
5
6
7

range(3, 8) 会生成从 3 到 7(不包括 8)的整数序列。

3. 使用 step 参数

通过 step 参数,你可以控制序列中数字之间的间隔。默认为 1,但你可以指定其他值。

示例:
python"># 生成从 0 到 9 的偶数序列
for i in range(0, 10, 2):print(i)

输出:

0
2
4
6
8

在这个例子中,range(0, 10, 2) 生成从 0 到 9 的偶数序列,步长为 2。

4. 使用负数步长

range() 函数也支持负数步长,用于生成递减的序列。当 step 为负数时,start 应该大于 stop,否则序列将为空。

示例:
python"># 生成从 10 到 1 的倒序序列
for i in range(10, 0, -1):print(i)

输出:

10
9
8
7
6
5
4
3
2
1

range(10, 0, -1) 生成从 10 到 1 的倒序序列,步长为 -1。

5. range() 返回的是一个迭代器

需要注意的是,range() 返回的是一个迭代器,而不是一个列表。这意味着它不会立即生成所有的数字,而是按需生成数字,这可以节省内存。当你需要将它转换为列表时,可以使用 list() 函数。

示例:
python"># 将 range 对象转换为列表
numbers = list(range(5))
print(numbers)

输出:

[0, 1, 2, 3, 4]

6. 小结

  • range() 函数是生成一系列数字的常用工具,常用于循环。
  • 它可以接受 startstopstep 参数,允许灵活控制数字序列。
  • range() 返回的是一个可迭代对象,通常在 for 循环中使用,但可以转换为列表。

7. 课后练习

练习 1:使用 range() 生成 0 到 9 的数字序列

使用 range() 生成 0 到 9 的数字序列,并将其打印出来。

练习 2:使用 range() 生成 5 到 15 的奇数序列

使用 range() 生成一个从 5 到 15 的奇数序列,步长为 2,并打印每个数字。

练习 3:使用 range() 创建一个倒序序列

使用 range() 创建一个从 20 到 10 的倒序序列,并打印每个数字。

练习 4:将 range() 对象转换为列表

使用 range(0, 20, 5) 创建一个序列,然后将该序列转换为列表并打印出来。

练习 5:使用 range() 计算数字总和

使用 range() 函数计算 1 到 100 的数字总和。


http://www.ppmy.cn/embedded/158713.html

相关文章

Elastic Cloud Serverless 获得主要合规认证

作者:来自 Elastic Oliver Mao 我们很高兴地宣布,Elastic Cloud Serverless 已获得多项重要的合规性认证。这一里程碑加强了我们对安全性、隐私性和法规遵从性的承诺。Elastic Cloud Serverless 现已通过以下行业领先框架的审核或认证:SOC 2 …

让Android adb支持互联网调试脱离局域网

某些特殊场景下由于不方便,手机不在身边,但需要进行adb调试。 首先可以先开启adb的无线调试模式,我使用的是第二种方式。 在Android手机上安装一个终端模拟器,并赋予root权限,随后执行: setprop service.…

6 齐次坐标模块(homogen.rs)

homogen.rs代码定义了一个名为 HomogeneousVector 的结构体,它是用于表示三维空间中的齐次向量。齐次向量常用于计算机图形学和几何学中,特别是在处理投影和变换时。下面是对这段代码的详细解释和一些关键的代码片段分析: 一、homogen.rs文件…

ICSE‘25 LLM Assistance for Memory Safety

不知道从什么时候开始,各大技术社区,技术群聊流行着 “用Rust重写!” ,放一张图(笑死… 这不, 随着大模型技术的流行,大家都在探索如何让大模型自动完成仓库级别(全程序)的代码重构,代码变换(Refactor&…

Python之百度财务数据可视化分析

Python之百度财务数据可视化分析 🌟 嗨,我是LucianaiB! 🌍 总有人间一两风,填我十万八千梦。 🚀 路漫漫其修远兮,吾将上下而求索。 目录 设计题目设计目的设计任务描述设计要求输入和输出要求…

[Linux]el8安全配置faillock:登录失败达阈值自动锁定账户配置

前言 本篇文章的配置仅使用于el8版本的Linux,目前已在centos8、BCLinux8上验证成功,其他版本系统是否可行还得考查。 el8中管理用户登录失败锁定账户所用的模块是faillock.so,如果想要将配置应用与其他版本的Linux,建议确认Linux…

2025蓝桥杯JAVA编程题练习Day1

1.刑侦科推理试题 题目描述 有以下10道单选题,编程求这10道题的答案。 这道题的答案是: A. A B. B C. C D. D 第5题的答案是: A. C B. D C. A D. B 以下选项中哪一题的答案与其他三项不同: A. 第3题 B. 第6题 C. 第2题 D.…

Python3 【装饰器】避坑指南:常见错误解析

Python3 【装饰器】避坑指南:常见错误解析 在编写或使用 Python 装饰器时,可能会遇到一些典型的错误。以下是 15 种常见错误,分析出错原因并提供纠正方法,同时通过代码示例进行演示和说明。 1. 忘记调用被装饰的函数 错误原因&a…