溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Python中怎么使用random模塊

發(fā)布時間:2020-08-26 16:08:58 來源:億速云 閱讀:217 作者:Leah 欄目:編程語言

這篇文章運(yùn)用簡單易懂的例子給大家介紹Python中怎么使用random模塊,代碼非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

python的random模塊

random模塊是python中一個生成隨機(jī)數(shù)的模塊。

random不是python解釋器內(nèi)置的模塊。

導(dǎo)入random模塊的方法是:

import random

如果只使用random模塊中的單個方法的話,也可以使用

from random import method_name

例如:

我只想生成一個10以內(nèi)的隨機(jī)的整數(shù),不需要random模塊的別的方法的時候,也可以使用以下命令

from random import randint
random.randint(0,10)

查看random模塊的內(nèi)置方法可以使用以下命令:

dir(random)

其中常用的方法有下面幾個:

choice

#從一個非空列表中隨機(jī)選擇一個元素
>Choose a random element from a non-empty sequence.
>>> random.choice([1,3,5,7])
1
>>> random.choice([1,3,5,7])
3

randint

#從a和b(包括b)的范圍內(nèi)隨機(jī)生成一個整數(shù)
>Return random integer in range [a, b], including both end points.
>>> random.randint(0,9)
8
>>> random.randint(0,9)
0
>>> random.randint(0,9)
4
>>> random.randint(0,9)
3

random

#生成一個0(包括0)到1內(nèi)的浮點(diǎn)數(shù)
>random() -> x in the interval [0, 1).
>>> random.random()
0.3898009217264272
>>> random.random()
0.897328889551127
>>> random.random()
0.9899842422616898

randrange

#在指定范圍內(nèi)隨機(jī)生成一個整數(shù)
> Choose a random item from range(start, stop[, step]).
This fixes the problem with randint() which includes the
endpoint; in Python this is usually not what you want.
>>> random.randrange(100,200)
156
>>> random.randrange(100,200)
133
>>> random.randrange(10,20)
11
>>> random.randrange(10,20)
15

sample

#從一個列表或集合中隨機(jī)選擇多個元素
>Chooses k unique random elements from a population sequence or set.
>>> random.sample([23,[1,2,3],"aa","yy"],2)
['aa', 23]
>>> random.sample([23,[1,2,3],"aa","yy"],3)
['aa', [1, 2, 3], 23]

shuffle

#把一個列表內(nèi)元素的順序打亂,列表的內(nèi)存地址不變
>Shuffle list x in place, and return None.
>>> l1=[1,"a",3,5,"b","c"]
>>> id(l1)
140436582171208
>>> random.shuffle(l1)
>>> print(l1)
[1, 'b', 'a', 'c', 3, 5]
>>> id(l1)
140436582171208

uniform

    #在指定范圍內(nèi)隨機(jī)生成一個浮點(diǎn)數(shù)
>Get a random number in the range [a, b) or [a, b] depending on rounding.
>>> random.uniform(12,33)
27.02416276339153
>>> random.uniform(12,33)
13.832414985007832
>>> random.uniform(12,33)
12.827493699496461

現(xiàn)在想生成一個5位包含大小寫和數(shù)字的隨機(jī)驗(yàn)證碼,代碼如下:

import random
def random_code():
    random_str = ""
    for i in range(5):
        #隨機(jī)選擇一個整數(shù)
        num=random.randint(0,9)
        #生成一個大寫字母
        upper=chr(random.randint(65,90))
        #生成一個小寫字母
        lower=chr(random.randint(97,122))
        #每次從大小寫字母中隨機(jī)選擇一位
        res=random.choice([str(num),upper,lower])
        random_str+=res
    return random_str
print(random_code())

運(yùn)行5次這個程序,生成的驗(yàn)證碼如下:

KwlTN
t1Pag
294l6
t1Pag
294l6

關(guān)于Python中怎么使用random模塊就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI