如何在 Python 中生成 K 个等间距的浮点数?


生成 K 个等间距浮点数的简介

本文将重点介绍如何使用 Python 生成 k 个等间距的浮点数。众所周知,Python 是一种开源的、灵活的编程语言,提供了大量用于数据操作和分析的功能。在本文中,我们将了解如何在 Python 中生成 k 个等间距的浮点数,其中 k 将是要打印的值的数量。

查找等间距浮点数的方法在许多现实应用中使用,例如科学计算、数据可视化和数学运算。它有助于创建具有均匀值分布的数据集,从而有助于准确分析和可视化数据。学习 Python 中可用的生成等间距浮点数的功能对于处理数值数据的数据科学家或程序员非常有帮助。

在本文中,我们将学习两种解决问题的方法。我们还将详细了解这两种方法的分步分解。我们将学习本文中使用的函数的语法,并通过一个解释性示例来更清楚地了解问题。

因此,现在让我们学习在 Python 中生成等间距浮点数的不同方法。

方法

现在让我们学习如何使用两种方法解决问题。

方法 1:使用循环

在这种方法中,我们将使用循环来解决问题。首先,我们将找到两个数字(即 a 和 b)之间的差值,然后将其除以第三个数字 c 以计算值之间的相等间隔。之后,我们将间隔与迭代计数的乘积与起始值(即 a)相加。

以下是代码方法的分解

  • 首先,我们将声明一个名为“result”的列表,用于存储等间距的值。

  • 然后,我们定义一个名为“evenly_spaced_float_values”的函数,它将接收三个参数 a、b 和 c,其中 a 是起始数字,b 是结束数字,c 是 a 和 b 之间的值的数量。

  • 在函数内部,我们首先计算 a 和 b 之间的差值,然后将其除以 c 以计算 a 和 b 之间的相等间隔,并将该值存储在名为“diff”的变量中。

  • 之后,我们启动一个循环,该循环的范围从 1 到“c+1”。在循环中,我们将起始值与 diff 和“i”的乘积相加。

  • 然后,使用 append() 函数将该值追加到结果列表中。

  • 最后,结果列表将显示在控制台屏幕上,显示两个数字之间的数字。

此程序允许用户输入他们想要显示等间距浮点数的数字范围,并且还允许他们选择数字之间所需的值的数量。

第一种方法的代码

# Declaring list
result = []
def evenly_spaced_float_values(a,b,c):
   # Calculating differences and storing in diff variable
   diff = (b - a) / c
   # using a loop to add numbers to the result
   for i in range(1, c + 1):
      result.append(a + (diff * i))
   # printing result
   print(result)
   a = int(input("Enter First Number "))
   b = int(input("Enter Second Number "))
   c = int(input("Enter range "))
   evenly_spaced_float_values(a,b,c)

方法 2:使用 numpy linspace 函数

在这种方法中,我们将使用 linspace 函数。linspace 函数用于在指定区间内创建等间距的序列。在这种方法中,我们将询问用户输入,该输入将存储在 a、b 和 c 中,然后我们将这些值作为参数传递给 linspace 函数,该函数将为我们提供 a 和 b 之间的等间距浮点数。

因此,程序的分解如下

  • 首先,我们在程序中将 nympy 模块导入为 np,以便我们可以使用 linspace 函数。

  • 然后,我们声明了 result 列表,该列表将存储 linspace 函数生成的数字列表。

  • 当程序执行时,它会要求用户输入“第一个数字”、“第二个数字”和“范围”(a 和 b 之间应该有多少个数字)。

  • 然后调用一个名为 evenly spaced float values 的函数,该函数接受三个参数 a、b 和 c。

  • 在函数内部,a、b 和 c 被传递给 linspace 函数以生成等间距的浮点数。

  • 生成的数值然后被追加到 result 列表中。

  • 之后,我们使用循环打印存储在 result 列表中的等间距浮点数。

所用函数的语法

linspace(start, stop, num, endpoint, retstep, dtype)

linspace 是 Python 的 NumPy 库中的一个内置函数。它用于在指定区间内创建等间距的序列。

  • start − 表示区间开始的初始值。

  • stop − 表示区间结束的最终值。

  • num − 在区间内要生成的等间距样本数。默认值为 50。

  • endpoint − 设置为 true 时,表示应将停止值包含在区间内。

  • retstep − 一个布尔值,确定是否应返回连续数字之间的步长。

  • dtype − 指定分配给数组中元素的数据类型。

第二种方法的代码

示例

import numpy as np
result = []
# Define the range and number of values
def evenly_spaced_float_values(a,b,c):
   # Generate the evenly spaced float values
   result.append(np.linspace(a, b, c))
 
   a = int(input("Enter First Number "))
   b = int(input("Enter Second Number "))
   c = int(input("Enter Range "))
   evenly_spaced_float_values(a,b,c)

# Print the resulting values
for value in result:
   print(value)

现在让我们通过一个示例来理解它。在此示例中,我们将生成 11 和 30 之间的 12 个等间距的浮点数。因此,我们将这些值传递给我们的程序,该程序将计算等间距的浮点数。

输出

因此,输出结果将是浮点数值列表,即 -

[11.0, 12.54545455, 14.09090909, 15.63636364, 17.18181818, 18.72727273, 20.27272727, 21.81818182, 23.36363636, 24.90909091, 26.45454545, 28.0]

我们可以观察到,在特定范围内(在本例中为 12),每个值都是等间距的。

此示例显示了使用 Python 生成等间距浮点数的过程。

结论

在本文中,我们学习了如何通过两种不同的方法在 Python 中打印等间距的浮点数。第一种是使用循环,第二种是通过 linspace 函数。这在数据可视化、信号处理、数学模型、机器学习等方面可以是一个有用的现实应用。这也有助于我们提高编程技能。

更新于: 2023年10月4日

77 次查看

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告