Python random.uniform() 方法



Python random.uniform() 方法用於檢索一個隨機浮點數。該數字大於或等於給定的上限,小於或等於給定的下限。

此函式無法直接訪問,因此我們需要匯入 random 模組,然後我們需要使用 random 靜態物件呼叫此函式。

語法

以下是 Python random.uniform() 方法的語法:-

random.uniform(x, y)

引數

以下是此方法的引數:-

  • x - 設定隨機浮點數的下限。

  • y - 設定隨機浮點數的上限。

返回值

此方法返回一個浮點數。

示例 1

以下示例顯示了 Python random.uniform() 方法的用法。這裡將正的上限和下限作為引數傳遞給方法。

import random
print ("Random Float uniform(5, 10) : ",  random.uniform(5, 10))
print ("Random Float uniform(7, 14) : ",  random.uniform(7, 14))

讓我們執行上面的程式,這將產生以下結果:-

Random Float uniform(5, 10) :  5.52615217015
Random Float uniform(7, 14) :  12.5326369199

示例 2

在下面給出的示例中,我們正在建立一個包含 5 個隨機浮點數的列表。這些數字的範圍在 25.25 到 125.45 之間。round 方法用於將小數點後的數字四捨五入到 4 位。

注意:這裡,列表中可能存在重複的數字。

import random
rand_List = []
# Setting the length of the list as 5
for i in range(0, 5):
   # random number between 25.25 and 125.45
   res = round(random.uniform(25.25, 125.45), 4)
   rand_List.append(res)
print('The random float list is:',rand_List)

執行以上程式碼時,我們得到以下輸出:-

The random float list is: [108.2198, 59.591, 109.8726, 91.4924, 103.0854]

示例 3

在這裡,SystemRandom() 方法用於生成安全的隨機浮點數。為了防止兩個程序在同一時刻獲取相同的數字,密碼學安全的隨機生成器使用同步技術來生成隨機數。如果您正在為安全敏感的應用程式生成隨機浮點數,則必須使用此方法。

import random
sec_rand = random.SystemRandom()
rand_float = sec_rand.random()
print('The random number is:',rand_float)
rand_float = sec_rand.uniform(20.23,21.23)
print('The uniform random number is:',rand_float)

以上程式碼的輸出如下:-

The random number is: 0.3071523248544521
The uniform random number is: 20.419234861655998

示例 4

以下是一個示例,它提供了不同登山者攀登的高度。此外,還指定了獲得征服者獎盃的合格高度範圍。然後透過從合格高度減去登山者的高度,記錄最接近的高度。此後,宣佈征服者的姓名。

# importing the modules
import random
import math
# initializing conqueror height
Ajay = 65.5
Ashu = 53.0
Abhishek = 95.5
# generating the conqueror random number
conqueror = random.uniform(90, 100)
# finding the closest 
difference1 = math.fabs(conqueror - Ajay)
print ('difference1: ',difference1)
difference2 = math.fabs(conqueror - Ashu)
print ('difference2: ',difference2)
difference3 = math.fabs(conqueror - Abhishek)
print ('difference3: ',difference3)
# printing the conqueror name
if(difference1 < difference2 and difference1 < difference3):
	print("The conqueror is: ", end = "Ajay")
if(difference2 < difference3 and difference2 < difference1):
	print("The conqueror is: ", end = "Ashu")
if(difference3 < difference2 and difference3 < difference1):
	print("The conqueror is: ", end = "Abhishek")

以下是以上程式碼的輸出:-

difference1:  26.85898625788964
difference2:  39.35898625788964
difference3:  3.14101374211036
The conqueror is: Abhishek
python_modules.htm
廣告