最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python標(biāo)準(zhǔn)庫random模塊處理隨機數(shù)

 更新時間:2022年09月28日 11:13:15   作者:小地瓜重新去華容道工作  
這篇文章主要介紹了python標(biāo)準(zhǔn)庫random模塊處理隨機數(shù),random模塊實現(xiàn)了各種分布的偽隨機數(shù)生成器,具體介紹感興趣的小伙伴可以參考一下

前言

random模塊實現(xiàn)了各種分布的偽隨機數(shù)生成器。

偽隨機數(shù):人類使用算法等方式,以一個基準(zhǔn)(也被稱為種子,常用的是時間戳)來構(gòu)造一系列數(shù)字,這些數(shù)字的特性符合人們所理解的隨機數(shù)。
一旦算法和種子都確定,產(chǎn)生的隨機數(shù)序列也是確定的,所以稱為偽隨機數(shù)。

1. 常用函數(shù)

常用函數(shù)說明
random.seed(a)設(shè)置初始化隨機種子,可輸出相同隨機數(shù)序列;a取整數(shù)或浮點數(shù),不設(shè)置時默認(rèn)以系統(tǒng)時間為種子
random.random()生成一個0.0到1.0之間的隨機浮點數(shù)
random.uniform(a,b)生成一個[a,b]之間的隨機小數(shù),a,b取整數(shù)或浮點數(shù)
random.randint(a,b)生成一個[a,b]之間的隨機整數(shù)
random.randrange(start,stop[,step])生成一個[start,stop)之間以step為步數(shù)的隨機整數(shù);start,stop,step都是整數(shù),step不設(shè)置默認(rèn)為1
random.getrandbits(k)(seq)生成一個占內(nèi)存k位以內(nèi)的隨機整數(shù);k取長度的整數(shù)值
如果設(shè)置k=2,那么可取的數(shù)就在 (0,1,2,3) 之間隨機取
random.choice(seq)從序列類型seq中隨機返回一個元素;seq是序列類型,如:字符串、列表、元組、集合等
random.shuffle(seq)將序列類型中元素隨機排序,返回打亂后的序列,seq被改變(改變原列表);seq是序列類型,如:字符串、列表、元組等
random.sample(pop,k)從pop中選取k個元素,以列表類型返回(不改變原列表);pop是序列類型,k是整數(shù)表示取k個數(shù)

常用函數(shù)使用方法:

import random

print('no seed')
for i in range(5):
    ret = random.randint(1,10)
    print(ret)

print()

print(random.random())
print(random.uniform(1,10))
print(random.randint(0,10))
print(random.randrange(1,10,5))
print(random.getrandbits(2))

print(random.choice([1,3,5,7,9]))
l=[1,2,3,4]
random.shuffle(l)
print(l)

print(random.sample(l,2))

print('*'*40)
print('has seed')
random.seed(1)
for i in range(5):
    ret = random.randint(1,10)
    print(ret)

print(random.random())
print(random.uniform(1,10))
print(random.randint(0,10))
print(random.randrange(1,10,5))
print(random.getrandbits(2))
print(random.choice([1,3,5,7,9]))

l=[1,2,3,4]
random.shuffle(l)
print(l)

print(random.sample(l,2))

顯示結(jié)果:

no seed
4
7
5
5
1
()
0.730177834774
4.05987712407
8
6
0
7
[1, 4, 2, 3]
[4, 1]
****************************************
has seed
2
9
8
3
5
0.449491064789
6.8643367545
8
1
0
9
[1, 3, 4, 2]
[4, 1]

2. 不常用函數(shù)

random模塊中不常用的函數(shù)有如下:

函數(shù)名說明
random.getstate()捕獲并返回生成器當(dāng)前內(nèi)部狀態(tài)的對象,可以把它傳遞給setstate()函數(shù)來把生成器內(nèi)部狀態(tài)恢復(fù)到調(diào)用getstate()函數(shù)之前的狀態(tài),相當(dāng)于備份
random.setstate(state)state應(yīng)該是getstate()函數(shù)的結(jié)果,用來把生成器當(dāng)前的內(nèi)部狀態(tài)恢復(fù)為state
random.betavariate(alpha,beta)Beta分布:參數(shù)的條件是alpha>0和beta > 0,返回值的范圍介于0和1之間
random.expovariate(lambd)指數(shù)分布
random.gammavariate(alpha,beta)Gamma分布:參數(shù)的條件的alpha > 0 & beta < 0
random.gauss(mu,sigma)高斯分布: mu是平均值,sigma是標(biāo)準(zhǔn)差
random.normalvariate(mu,sigma)正態(tài)分布:mu是平均值,sigma是標(biāo)準(zhǔn)差
random.paretovariate(alpha)帕累托分布:alpha是形狀參數(shù)
random.weibullvariate(alpha,beta)威布爾分布:alpha是比例參數(shù),beta是形狀參數(shù)

3. 使用示例

3.1 生成隨機密碼

生成的密碼包含數(shù)字和字母,可以指定密碼的位數(shù)。

# -*- coding: utf-8 -*-
"""
@File   :   隨機生成密碼.py
@E-Mail :   zoya.zh@qq.com
"""
import random
import string

def get_random_passwd(length:int):
    '''
    生成隨機密碼h
    :param length:  密碼的長度
    :return:  生成的隨機密碼
    '''
    num_count = random.randint(1,length-1)   # 密碼中數(shù)字的個數(shù)
    char_count = length - num_count  # 密碼中字母的個數(shù)

    num_list = [random.choice(string.digits) for i in range(num_count)]  # 隨機生成的數(shù)字

    char_list = [random.choice(string.ascii_letters) for i in range(char_count)]  # 隨機生成的字母

    psw = num_list + char_list

    # 隨機排列序列中的字符
    random.shuffle(psw)

    # 把得到的密碼轉(zhuǎn)成字符串的格式返回
    result = ''.join(psw)

    return result

if __name__ == '__main__':
    psw = get_random_passwd(8)
    print(psw)

測試時每次都會生成不同的密碼

8oG4GW76

261Ro923

到此這篇關(guān)于python標(biāo)準(zhǔn)庫random模塊處理隨機數(shù)的文章就介紹到這了,更多相關(guān)python random模塊 內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python pip更換清華源鏡像的詳細(xì)教程

    Python pip更換清華源鏡像的詳細(xì)教程

    大家經(jīng)常會使用 pip 進行python 的第三方庫安裝,但是,有時會出現(xiàn)ERROR: No matching distribution found for PyQt6這類的錯誤,其實大部分原因是我們國內(nèi)網(wǎng)絡(luò)的問題,所以本文給大家介紹了Python pip更換清華源鏡像的詳細(xì)教程,需要的朋友可以參考下
    2024-09-09
  • 解決pycharm工程啟動卡住沒反應(yīng)的問題

    解決pycharm工程啟動卡住沒反應(yīng)的問題

    今天小編就為大家分享一篇解決pycharm工程啟動卡住沒反應(yīng)的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-01-01
  • 基于Python?wxPython開發(fā)文件管理工具

    基于Python?wxPython開發(fā)文件管理工具

    這篇文章主要為大家詳細(xì)介紹了如何基于wxPython開發(fā)一個文件管理工具,該工具提供了多種實用功能,代碼結(jié)構(gòu)清晰,易于理解和擴展,需要的可以了解下
    2025-02-02
  • pycocotools介紹以及在windows10下的安裝過程

    pycocotools介紹以及在windows10下的安裝過程

    這篇文章主要介紹了pycocotools介紹以及在windows10下的安裝過程,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • 用Python制作檢測Linux運行信息的工具的教程

    用Python制作檢測Linux運行信息的工具的教程

    這篇文章主要介紹了用Python制作檢測Linux運行信息的工具的教程,主要是用CPython讀取運行系統(tǒng)的硬件參數(shù)、網(wǎng)絡(luò)傳輸流量統(tǒng)計等,需要的朋友可以參考下
    2015-04-04
  • python數(shù)組轉(zhuǎn)換為矩陣的方法實現(xiàn)

    python數(shù)組轉(zhuǎn)換為矩陣的方法實現(xiàn)

    本文主要介紹了python數(shù)組轉(zhuǎn)換為矩陣的方法實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • python使用tornado實現(xiàn)簡單爬蟲

    python使用tornado實現(xiàn)簡單爬蟲

    這篇文章主要為大家詳細(xì)介紹了python使用tornado實現(xiàn)簡單爬蟲,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-07-07
  • Python執(zhí)行JS的四種方法

    Python執(zhí)行JS的四種方法

    本文將詳細(xì)介紹Python中執(zhí)行和調(diào)用JavaScript的多種方法,包括內(nèi)置的execjs庫、外部庫如PyExecJS、使用瀏覽器引擎和與Node.js的交互,感興趣的可以了解一下
    2023-11-11
  • Python 數(shù)據(jù)分析之Beautiful Soup 提取頁面信息

    Python 數(shù)據(jù)分析之Beautiful Soup 提取頁面信息

    Beautiful Soup 提供一些簡單的、python 式的函數(shù)用來處理導(dǎo)航、搜索、修改分析樹等功能。它是一個工具箱,通過解析文檔為用戶提供需要抓取的數(shù)據(jù),因為簡單,所以不需要多少代碼就可以寫出一個完整的應(yīng)用程序
    2021-10-10
  • Python繪圖系統(tǒng)之自定義一個坐標(biāo)列表控件

    Python繪圖系統(tǒng)之自定義一個坐標(biāo)列表控件

    這篇文章主要為大家詳細(xì)介紹了Python如何編寫一個繪圖系統(tǒng),可以實現(xiàn)自定義一個坐標(biāo)列表控件,文中的示例代碼講解詳細(xì),感興趣的可以了解一下
    2023-08-08

最新評論

咸阳市| 苏尼特左旗| 云霄县| 肥东县| 盱眙县| 中西区| 稻城县| 保康县| 天津市| 临泉县| 浪卡子县| 旺苍县| 曲麻莱县| 湖南省| 利川市| 娄底市| 双流县| 加查县| 霍林郭勒市| 南川市| 高雄市| 彭州市| 两当县| 丰顺县| 独山县| 古蔺县| 德清县| 牙克石市| 通城县| 万山特区| 固始县| 林周县| 邵武市| 裕民县| 浏阳市| 车险| 南郑县| 阳原县| 昭平县| 霍林郭勒市| 扎赉特旗|