Python標(biāo)準(zhǔn)庫random模塊
創(chuàng)新互聯(lián)是一家專注于成都網(wǎng)站建設(shè)、網(wǎng)站制作與策劃設(shè)計(jì),青秀網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)十載,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:青秀等地區(qū)。青秀做網(wǎng)站價(jià)格咨詢:18980820575
(生成隨機(jī)數(shù)模塊)
random.random()
random.random()用于生成一個0到1的隨機(jī)符點(diǎn)數(shù): 0 = n 1.0
random.uniform(a, b)
random.uniform的函數(shù)原型為:random.uniform(a,
b),用于生成一個指定范圍內(nèi)的隨機(jī)符點(diǎn)數(shù)。如果a b,則生成的隨機(jī)數(shù)n: b = n = a。如果 a b,
則 a = n = b。
[python] view plaincopy
print random.uniform(10, 20)
print random.uniform(20, 10)
#---- 結(jié)果(不同機(jī)器上的結(jié)果不一樣)
#18.7356606526
#12.5798298022
random.randint(a, b)
random.randint()的函數(shù)原型為:random.randint(a, b),用于生成一個指定范圍內(nèi)的整數(shù)。其中參數(shù)a是下限,參數(shù)b是上限,生成的隨機(jī)數(shù)n: a = n = b
Note:a = [random.randint(0, 100) for __ in range(100)] #生成100個指定范圍內(nèi)的整數(shù)
[python] view plaincopy
print random.randint(12, 20) #生成的隨機(jī)數(shù)n: 12 = n = 20
print random.randint(20, 20) #結(jié)果永遠(yuǎn)是20
#print random.randint(20, 10) #該語句是錯誤的。下限必須小于上限。
random.randrange(, stop[, step])
random.randrange的函數(shù)原型為:random.randrange(,
stop[, step]),從指定范圍內(nèi),按指定基數(shù)遞增的集合中 獲取一個隨機(jī)數(shù)。如:random.randrange(10, 100,
2),結(jié)果相當(dāng)于從[10, 12, 14, 16, ... 96, 98]序列中獲取一個隨機(jī)數(shù)。random.randrange(10,
100, 2)在結(jié)果上與 random.choice(range(10, 100, 2) 等效。
random.choice(sequence)
random.choice從序列中獲取一個隨機(jī)元素。其函數(shù)原型為:random.choice(sequence)。參數(shù)sequence表示一個有序類型。這里要說明 一下:sequence在Python不是一種特定的類型,而是泛指一系列的類型。list, tuple, 字符串都屬于sequence。有關(guān)sequence可以查看python手冊數(shù)據(jù)模型這一章,也可以參考: 。下面是使用choice的一些例子:
[python] view plaincopy
print random.choice("學(xué)習(xí)Python")
print random.choice(["JGood", "is", "a", "handsome", "boy"])
print random.choice(("Tuple", "List", "Dict"))
random.shuffle(x[, random])
random.shuffle的函數(shù)原型為:random.shuffle(x[, random]),用于將一個列表中的元素打亂。如:
[python] view plaincopy
p = ["Python", "is", "powerful", "simple", "and so on..."]
random.shuffle(p)
print p
#---- 結(jié)果(不同機(jī)器上的結(jié)果可能不一樣。)
#['powerful', 'simple', 'is', 'Python', 'and so on...']
random.sample(sequence, k)
random.sample的函數(shù)原型為:random.sample(sequence, k),從指定序列中隨機(jī)獲取指定長度的片斷。sample函數(shù)不會修改原有序列。
[python] view plaincopy
list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
slice = random.sample(list, 5) #從list中隨機(jī)獲取5個元素,作為一個片斷返回
print slice
Note:上面這些方法是random模塊中最常用的,在Python手冊中,還介紹其他的方法。
Python內(nèi)置的函數(shù)一次只能生成一個隨機(jī)數(shù),然而你可以方便地使用表理解(list comprehension)一次性生成多個隨機(jī)數(shù)。示例的代碼如下:
import?random
[random.randint(0,100)?for?_?in?range(10)]
#[57,?93,?22,?55,?41,?64,?47,?32,?93,?61]
range函數(shù)輸入不同的值,可以設(shè)置需要生成隨機(jī)數(shù)的個數(shù),上面的例子中生成了10個隨機(jī)數(shù)。
1、如下圖,要提取#后面的字符,也即紅色的“SDK”到B列。
2、首先,在B2中輸入公式:
=FIND("#",A2)
返回#在字符串中的位置,#在A2單元格文本中是第6個字符。
3、知識點(diǎn)說明:
FIND()函數(shù)查找第一參數(shù)在第二參數(shù)中的位置。如下圖,查找“B”在“ABCD”中是第幾個字符。第一參數(shù)是要查找的字符“B”,第二參數(shù)是被查找的字符串。最終返回“B”在“ABCD”中是第2個字符。
4、然后,在B2中輸入公式:
=MID(A2,FIND("#",A2)+1,99)
這樣,就提取出了#后的字符。
5、知識點(diǎn)說明:
MID()函數(shù)返回從字符串中制定字符開始若干個字符的字符串。如下圖,MID()函數(shù)返回“ABCDE”字符串中從第2個字符開始的連續(xù)3個字符,也就是返回“BCD”。
6、綜上,=MID(A2,FIND("#",A2)+1,99)的意思就是從A2單元格#字符后面的一個字符起,取長度為99的字符串。其中的99是一個較大的數(shù)字,能涵蓋#后字符的最大長度即可。
在python中用于生成隨機(jī)數(shù)的模塊是random,在使用前需要import
random.random:
random.random():生成一個0-1之間的隨機(jī)浮點(diǎn)數(shù).例:
[python] view plain copy
import random
print random.random()
# 0.87594424128
random.uniform
random.uniform(a, b):生成[a,b]之間的浮點(diǎn)數(shù).例:
[python] view plain copy
import random
print random.uniform(0, 10)
# 5.27462570463
random.ranint
random.randint(a, b):生成[a,b]之間的整數(shù).例:
[python] view plain copy
import random
print random.randint(0, 10)
# 8
random.randrange
random.randrange(a, b, step):在指定的集合[a,b)中,以step為基數(shù)隨機(jī)取一個數(shù).如random.randrange(0, 20, 2),相當(dāng)于從[0,2,4,6,...,18]中隨機(jī)取一個.例:
[python] view plain copy
import random
print random.randrange(0, 20, 2)
# 14