python之隨機函式詳解

2021-08-21 08:04:58 字數 3053 閱讀 3477

random()方法:返回隨機生成的乙個實數,它在[0,1)範圍內

運用random()方法的語法:

import random  #

random()方法不能直接訪問,需要匯入random模組,然後通過random靜態物件呼叫該方法

random.random()方法用於生成乙個0到1的隨機浮點數:0<=n<1.0

>>> import

random

>>> print

"random():

",random.random()

random(): 0.809221478124

>>> print

"random():

",random.random()

random(): 0.877521147987

random.uniform(a,b):用於生成乙個指定範圍內的隨機浮點數,兩格引數中,其中乙個是上限,乙個是下限。如果a>b,則生成的隨機數n,即b<=n<=a;如果a>b,則a<=n<=b。

>>> import

random

>>> print random.uniform(10,20)

13.2960134544

>>> print random.uniform(20,10)

15.9038751838

random.randint(a,b):用於生成乙個指定範圍內的整數。其中引數a是下限,引數b是上限,生成的隨機數n:a<=n<=b

>>> import

random

>>> print random.randint(10,20)

11>>> print random.randint(20,20)20#

print random.randint(20,10) #該語句是錯誤的,下限必須小於上限

random.randrange([start],stop[, step]):從指定範圍內,按指定基數遞增的集合中獲取乙個隨機數。如:random.randrange(10,100,2),結果相當於從[10,12,14,16,...,96,98]序列中獲取乙個隨機數。random.randrange(10,100,2)在結果上與random.choice(range(10,100,2))等效。

>>> import

random

>>> print random.randrange(10,100,2)

72>>> print random.choice(range(10,100,2))

28>>> print random.choice(range(10,100,2))

74

random.choice(sequence):引數sequence表示乙個有序型別。sequence在python不是一種特定的型別,而是泛指一系列的型別。list,tuple,字串都屬於sequence。

>>> import

random

>>> print random.choice("

學習python")

t>>> print random.choice(["

jgood

","is

","a

","handsome

","body"])

is>>> print random.choice(("

tuple

","list

","dict"))

list

random.shuffle(x[, random]):用於將乙個列表中的元素打亂。

>>> import

random

>>> p=["

pyhton

","is

","powerful

","******

","and so on..."]

>>>random.shuffle(p)

>>>p['

and so on...

', '

******

', '

powerful

', '

pyhton

', '

is']

random.sample(sequence,k):從指定序列中隨機獲取指定長度的片段,sample函式不會修改原有序列。

>>> import

random

>>> list=[1,2,3,4,5,6,7,8,9,10]

>>> a=random.sample(list,5) #

從list中隨機獲取5個元素,作為乙個片段返回

>>> print

a[1, 6, 10, 8, 3]

>>> print list #

原有序列並沒有改變

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

應用場景:生成隨機驗證碼
1

2

3

4

5

6

7

8

9

10

checkcode = ''

for i in range(4):

current = random.randrange(0,4)

if current != i:

temp = chr(random.randint(65,90))

else:

temp = random.randint(0,9)

checkcode += str(temp)

print(checkcode)

其中乙個結果:jzad

Python 內建函式之隨機函式詳情

目錄 匯入模組 import random 1 random.choice 列表 元組 字串 在列表或者元組中隨機挑選乙個元素,若是字串則隨機挑選乙個字元 num1 random.choice hello true,1,1,4,5 print num1 輸出 每次輸出的結果不一定一樣 2 rando...

Python中的隨機函式random詳解

目錄 用法作用 random 返回0 n 1之間的隨機浮點數n random.uniform a,b 用於生成乙個指定範圍內的隨機符點數 random.randint a,b 用於生成乙個指定範圍內的整數 random.randrange start stop step 從指定範圍內,按指定基數遞增...

Python隨機函式

生成n個隨機數 list 1,2,3,4,5,6,7,8,9,10 slice random.sample list,5 從list中隨機獲取5個元素,作為乙個片斷返回 printslice printlist 原有序列並沒有改變。隨機整數 import random random.randint ...