1. 程式人生 > >python中的random模組總結

python中的random模組總結

程式碼開始出加入import random匯入random模組
1、random.random
random.random()用於生成一個0到1的隨機符點數: 0 <= n < 1.0

2、random.uniform
random.uniform(a, b),用於生成一個指定範圍內的隨機符點數,兩個引數其中一個是上限,一個是下限。

如果a < b,則生成的隨機數n: b>= n >= a。

如果 a >b,則生成的隨機數n: a>= n >= b。

print random.uniform(10, 20)

print random.uniform(20, 10)

14.73

18.579

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

print random.randint(1, 10)

4、random.randrange
random.randrange([start], stop[, step]),從指定範圍內,按指定基數遞增的集合中 獲取一個隨機數。

如:random.randrange(10, 100, 2),結果相當於從[10, 12, 14, 16, … 96, 98]序列中獲取一個隨機數。

5、random.choice
random.choice從序列中獲取一個隨機元素。其函式原型為:random.choice(sequence)。引數sequence表示一個有序型別。

這裡要說明 一下:sequence在python不是一種特定的型別,而是泛指一系列的型別。list, tuple, 字串都屬於sequence。

print random.choice(“Python”)

print random.choice([“JGood”, “is”, “a”, “handsome”, “boy”])

print random.choice((“Tuple”, “List”, “Dict”))

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

如:

p = [“Python”, “is”, “powerful”, “simple”, “and so on…”]

random.shuffle§

print p

[‘powerful’, ‘simple’, ‘is’, ‘Python’, ‘and so on…’]

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

例如:

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

slice = random.sample(list, 6) # 從list中隨機獲取6個元素,作為一個片斷返回

print slice

print list # 原有序列並沒有改變

1 #random隨機數模組
 2 import random
 3 print(random.random())      #生成0到1的隨機數
 4 #0.7308387398872364
 5 print(random.randint(1,3))  #生成1-3隨機數
 6 #3
 7 print(random.randrange(1,3)) #生成1-2隨機數,不包含3
 8 #2
 9 print(random.choice("hello"))  #隨機選取字串
10 #e
11 print(random.sample("hello",2))     #隨機選取特定的字元
12 #['l', 'h']
13 items = [1,2,3,4,5,6,7]
14 random.shuffle(items)
15 print(items)
16 #[2, 3, 1, 6, 4, 7, 5]```


python版本的驗證碼:
checkcode = ''
for i in range(4):
    current = random.randrange(0, 4)
    print current
    if current != i:
        temp = chr(random.randint(65, 90))
    else:
        temp = random.randint(0, 9)
    checkcode += str(temp)
print checkcode