如何在 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 次檢視

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.