Python 2.x 中如何使用range()函数生成整数序列

介绍

Python 2.x 中,用于生成整数序列的函数是 range()。本文将详细介绍 range() 函数的使用方法。

range() 函数的基本用法

range() 函数可以生成从 start 参数指定的值开始的一系列连续整数值,直到 end 参数指定的值为止,每次加上一个 step 参数指定的值。

语法如下:

range(start, end, step)

其中,start 参数表示整数序列开始的值,默认值为零;end 参数表示整数序列截止的值,但不包括这个值本身;step 参数表示相邻两个整数之间的差值,默认值为 1。

例如:

range(0, 10, 1)

这个函数将会生成一个整数序列,从 0 开始,到 10 结束,步长为 1。结果如下:

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

下面我们逐一介绍 start、end、step 参数的使用方法。

start 参数

start 参数表示整数序列的起始值。如果不指定 start 参数,则默认值为零。

下面我们看一下只指定 end 参数的用法:

range(5)

这个函数将会生成一个整数序列,从 0 开始,到 5 结束,步长为 1。结果如下:

[0, 1, 2, 3, 4]

另外,如果指定的 start 值大于 end 值,则不会生成任何整数。

range(5, 1)

运行结果是一个空列表 []。

下面我们通过一个例子来深入说明 start 参数的作用。

        在一个数字序列中,如果一个数等于它前面一个数加上后面一个数,就称这个数为“Fibonacci 数”。下面我们来用 Python 程序找到 0~100 之间的所有 Fibonacci 数。

result = []

for i in range(101):

if i < 2:

result.append(i)

elif result[-2] + result[-1] == i:

result.append(i)

print(result)

输出结果如下:

[0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89]

以上代码中使用了 start 参数,将整数序列从 0 开始生成。

end 参数

end 参数表示整数序列截止的值,但不包括这个值本身。

下面我们看一下只指定 start 参数的用法:

range(2, 7)

这个函数将会生成一个整数序列,从 2 开始,到 7 结束,步长为 1。结果如下:

[2, 3, 4, 5, 6]

注意,最后一个数是 6,而不是 7。

另外,如果 end 参数小于或等于 start 参数,则不会生成任何整数。

range(5, 4)

运行结果是一个空列表 []。

下面我们通过一个例子来深入说明 end 参数的作用。

        假设我们要实现一个函数,用于计算从 1 到 n 的所有整数之和。下面展示一种使用 range() 函数的方法。

def sum_to_n(n):

return sum(range(1, n + 1))

print(sum_to_n(10))

输出结果是 55,表示从 1 到 10 的所有整数之和。

step 参数

step 参数表示相邻两个整数之间的差值,默认值是 1。

下面我们看一下只指定 start 和 end 参数的用法:

range(2, 11, 2)

这个函数将会生成一个整数序列,从 2 开始,到 11 结束,每隔 2 个整数取一个数。结果如下:

[2, 4, 6, 8, 10]

下面我们通过一个例子来深入说明 step 参数的作用。

        如果你使用过蒙特卡罗方法,就会知道它可以用来估算圆周率。蒙特卡罗方法是一种统计学方法,基于在圆和正方形之间的关系。下面展示一种使用 range() 函数的方法,计算出圆周率的值。

import random

def pi_estimate(n):

num_inside = 0

for i in range(n):

x = random.uniform(-1.0, 1.0)

y = random.uniform(-1.0, 1.0)

if x ** 2 + y ** 2 <= 1:

num_inside += 1

return 4.0 * num_inside / n

print(pi_estimate(100000))

输出结果如下(temperature=0.6):

3.13656

上述代码中,n 表示总的实验次数,执行 n 次实验,统计落入圆中的点的数量 num_inside,然后用 num_inside 除以 n,得出一个概率值。相乘 4.0 之后,即为 pi 的近似值。这里使用了 Python 的内置函数 random.uniform(),从一个区间中随机选择一个实数。

结论

本文详细介绍了 Python 2.x 中 range() 函数的基本用法,及其 start、end、step 参数的作用。通过示例代码,我们展示了如何在 Python 中使用 range() 函数生成整数序列,并且应用到实际问题中,让读者更好地理解 range() 函数的用法。

后端开发标签