Python隨機數random模組使用指南,python隨機數random

來源:互聯網
上載者:User

Python隨機數random模組使用指南,python隨機數random

random 模組是Python內建的模組,除了產生最簡單的隨機數以外,還有很多功能。

random.random()

用來產生一個0~1之間的隨機浮點數,範圍[0,10

>>> import random>>> random.random()0.5038461831828231

random.uniform(a,b)

返回a,b之間的隨機浮點數,範圍[a,b]或[a,b),取決於四捨五入,a不一定要比b小。

>>> random.uniform(50,100)76.81733455677832>>> random.uniform(100,50)52.98730193316595

random.randint(a,b)

返回a,b之間的整數,範圍[a,b],注意:傳入參數必須是整數,a一定要比b小

>>> random.randint(50,100)54>>> random.randint(100,50) Traceback (most recent call last): File "<pyshell#6>", line 1, in <module>  random.randint(100,50) File "C:\Python27\lib\random.py", line 242, in randint  return self.randrange(a, b+1) File "C:\Python27\lib\random.py", line 218, in randrange  raise ValueError, "empty range for randrange() (%d,%d, %d)" % (istart, istop, width)ValueError: empty range for randrange() (100,51, -49)>>> random.randint(50.5,100.6) Traceback (most recent call last): File "<pyshell#7>", line 1, in <module>  random.randint(50.5,100.6) File "C:\Python27\lib\random.py", line 242, in randint  return self.randrange(a, b+1) File "C:\Python27\lib\random.py", line 187, in randrange  raise ValueError, "non-integer arg 1 for randrange()"ValueError: non-integer arg 1 for randrange()

random.randrang([start], stop[, step])

返回有個區間內的整數,可以設定step。只能傳入整數,random.randrange(10, 100, 2),結果相當於從[10, 12, 14, 16, … 96, 98]序列中擷取一個隨機數。

>>> random.randrange(100)58>>> random.randrange(10,100,2)54

random.choice(sequence)

從序列中隨機擷取一個元素,list, tuple, 字串都屬於sequence。這裡的sequence 需要是有序類型。random.randrange(10,100,2)在結果上與 random.choice(range(10,100,2) 等效。

>>> random.choice(("stone","scissors","paper"))'stone'>>> random.choice(["stone","scissors","paper"])'scissors'>>> random.choice("Random")'m'

random.shuffle(x[,random])

用於將列表中的元素打亂,俗稱為洗牌。會修改原有序列。

>>> poker = ["A","2","3","4","5","6","7","8","9","10","J","Q","K"]>>> random.shuffle(poker)>>> poker['4', '10', '8', '3', 'J', '6', '2', '7', '9', 'Q', '5', 'K', 'A']

random.sample(sequence,k)

從指定序列中隨機擷取k個元素作為一個片段返回,sample函數不會修改原有序列。

>>> poker = ["A","2","3","4","5","6","7","8","9","10","J","Q","K"]>>> random.sample(poker,5)['4', '3', '10', '2', 'Q']

上述幾個方式是Python常用的一些方法,但是關於隨機數還有很多的故事。下回分解~

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.