亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Python之random庫的常用函數(shù)有哪些

 更新時間:2022年02月14日 10:16:20   作者:搬磚,贊路費  
這篇文章主要為大家詳細(xì)介紹了Python之random庫的常用函數(shù),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助

前言

在進行接口測試時,有些接口字段在不需要測試的時候往往是被寫死的,但是你不能保證它就不會出現(xiàn)問題,所以在平時測試的時候就需要覆蓋各種情況,這時候就可以為此專門寫一個函數(shù)或者類來實現(xiàn)字段動態(tài)值了。由于我們組的自動化腳本里面的金額字段是固定的,現(xiàn)在需要改成動態(tài)值,我用的是python的random庫寫的,現(xiàn)在來詳細(xì)記錄一下。

一 random庫介紹

在python中,用于生成隨機數(shù)的是random庫。但random庫生成的隨機數(shù)是一種采用梅森旋轉(zhuǎn)算法生成的偽隨機數(shù),不是真正的隨機數(shù),因為計算機是不能產(chǎn)生真正的隨機數(shù)的。

random庫是python的標(biāo)準(zhǔn)庫,因此只要安裝了python環(huán)境,基本就能使用random庫,使用方法如下

import random

二 基本隨機函數(shù)

random庫中的隨機數(shù)由兩個基本隨機函數(shù)產(chǎn)生,一個是seed()函數(shù),一個是random()函數(shù),如下

1. seed()

seed(a=None): 隨機數(shù)種子函數(shù),默認(rèn)參數(shù)a等于當(dāng)前系統(tǒng)時間。如果參數(shù)a值固定,則隨之產(chǎn)生的隨機數(shù)也會是同一個值。如下

import random
import time
random.seed(a=1)
ran_num1 = random.random()
ran_num3 = random.randint(1, 6)
print("我是第一次隨機結(jié)果:")
print(ran_num1)
print(ran_num3)
time.sleep(3)
print("我是第二次隨機結(jié)果:")
print(ran_num1)
print(ran_num3)

在這里插入圖片描述

從結(jié)果可以看出,當(dāng)參數(shù)a的值確定時,產(chǎn)生的就不是隨機數(shù)了。

2. random()

random(): 生成一個[0.0, 1.0)之間的隨機小數(shù)

a = 0
while a < 10:
    num = random.random()
    a += 1
    print(num)

在這里插入圖片描述

三 擴展隨機函數(shù)

由于基本隨機函數(shù)不夠用,所以又有了以下的擴展隨機函數(shù),如下。

1. randint()

randint(a, b): 生成一個[a, b]之間的隨機整數(shù)

#randint
a = 0
while a < 5:
    num = random.randint(1, 5)
    a += 1
    print(num)

在這里插入圖片描述

2. uniform()

uniform(a, b): 生成一個[a, b]之間的隨機小數(shù)

#uniform
a = 0
while a < 5:
    num = random.uniform(1, 7)
    a += 1
    print(num)

在這里插入圖片描述

3. randrange()

randrange(m,n[,k]): 生成一個[m,n)之間以k(默認(rèn)為1)為步長的隨機整數(shù)

#randrange
a = 0
while a < 5:
    num = random.randrange(1, 5)
    a += 1
    print(num)

在這里插入圖片描述

4. choice()

choice(seq): 從序列中隨機選擇一個數(shù)

#choice
a = 0
while a < 5:
    num = random.choice('abcd')
    a += 1
    print(num)

在這里插入圖片描述

5. shuffle()

shuffle(seq): 將列表元素順序打亂,返回打亂后的列表

#shuffle
l = [1, 2, 3, 4]
a = 0
while a < 5:
    random.shuffle(l)
    a += 1
    print(l)

在這里插入圖片描述

6. sample()

sample(seq, n): 從指定的序列seq中,隨機返回n個元素,以列表形式返回

#sample
s = 'abcdfg'
a = 0
while a < 5:
    num = random.sample(s, 1)
    a += 1
    print(num)

在這里插入圖片描述

四 實例(動態(tài)金額值)

要求:返回一個動態(tài)金額值,金額范圍:

1.0~1的一位小數(shù),兩位小數(shù);

2.不超過100的整數(shù);

3.1~100的一位小數(shù),兩位小數(shù);(測試金額字段,會不會自動補全兩位小數(shù))

實現(xiàn);

#測試金額字段,會不會自動補全兩位小數(shù)
#實現(xiàn)金額字段動態(tài)值
import random
def get_random_amount():
    '''
    實現(xiàn)金額字段動態(tài)值
    :return: random_amount
    '''
    #小于1的一位小數(shù),兩位小數(shù)值
    amount1 = round(random.random(), 1)
    amount2 = round(random.random(), 2)
    #整數(shù)
    amount3 = random.randint(1, 100)
    #1~100的一位小數(shù),兩位小數(shù)值
    amount4 = round(random.uniform(1, 100), 1)
    amount5 = round(random.uniform(1, 100), 2)
    #從5個金額值中隨機返回一個
    randomList = [amount1, amount2, amount3, amount4, amount5]
    random_amount = random.sample(randomList, 1)[0]
    print(randomList)
    return random_amount
#函數(shù)調(diào)用
random_amount = get_random_amount()
print(random_amount)

測試結(jié)果如下

在這里插入圖片描述

總結(jié)

本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!  

相關(guān)文章

  • Python反射和內(nèi)置方法重寫操作詳解

    Python反射和內(nèi)置方法重寫操作詳解

    這篇文章主要介紹了Python反射和內(nèi)置方法重寫,結(jié)合實例形式較為詳細(xì)的分析了Python反射概念、原理及內(nèi)置方法重寫相關(guān)操作技巧與注意事項,需要的朋友可以參考下
    2018-08-08
  • Python金融數(shù)據(jù)可視化匯總

    Python金融數(shù)據(jù)可視化匯總

    這篇文章主要介紹了Python金融數(shù)據(jù)可視化(兩列數(shù)據(jù)的提取,分別畫,雙坐標(biāo)軸,雙圖,兩種不同的圖)等內(nèi)容。
    2017-11-11
  • Python異常處理例題整理

    Python異常處理例題整理

    在本篇文章里
    2019-07-07
  • PyTorch實現(xiàn)聯(lián)邦學(xué)習(xí)的基本算法FedAvg

    PyTorch實現(xiàn)聯(lián)邦學(xué)習(xí)的基本算法FedAvg

    這篇文章主要為大家介紹了PyTorch實現(xiàn)聯(lián)邦學(xué)習(xí)的基本算法FedAvg,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-05-05
  • Python?jiaba庫的使用詳解

    Python?jiaba庫的使用詳解

    這篇文章主要為大家介紹了Python jiaba庫的使用,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助,希望能夠給你帶來幫助
    2021-11-11
  • Pandas對DataFrame單列/多列進行運算(map, apply, transform, agg)

    Pandas對DataFrame單列/多列進行運算(map, apply, transform, agg)

    這篇文章主要介紹了Pandas對DataFrame單列/多列進行運算(map, apply, transform, agg),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • python pandas中對Series數(shù)據(jù)進行軸向連接的實例

    python pandas中對Series數(shù)據(jù)進行軸向連接的實例

    今天小編就為大家分享一篇python pandas中對Series數(shù)據(jù)進行軸向連接的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-06-06
  • Python動態(tài)規(guī)劃實現(xiàn)虛擬機部署的算法思想

    Python動態(tài)規(guī)劃實現(xiàn)虛擬機部署的算法思想

    這篇文章主要介紹了Python動態(tài)規(guī)劃實現(xiàn)虛擬機部署的算法思想,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-07-07
  • Python處理字節(jié)串:struct.pack和struct.unpack使用

    Python處理字節(jié)串:struct.pack和struct.unpack使用

    這篇文章主要介紹了Python處理字節(jié)串:struct.pack和struct.unpack使用方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • python虛擬環(huán)境virtualenv的安裝與使用

    python虛擬環(huán)境virtualenv的安裝與使用

    virtualenv用于創(chuàng)建獨立的Python環(huán)境,多個Python相互獨立,互不影響,它能夠:1. 在沒有權(quán)限的情況下安裝新套件 2. 不同應(yīng)用可以使用不同的套件版本 3. 套件升級不影響其他應(yīng)用
    2017-09-09

最新評論