掌握 隨機數函數 的使用

1,random.random()

返回 0 與 1 之間的隨機浮點數 N,範圍爲 0 <= N < 1.0
通過下列案例演示:

# 隨機函數
import random
# 生成第一個隨機數
print('random():', random.random())
# 生成第二隨機數
print('random():', random.random())

運行結果如下:(每次運行結果都不同)

2,random.uniform(a,b)

返回 a 與 b 之間的隨機浮點數 N,範圍爲[a, b]。如果 a 的值小於b的值,則生成的隨機浮點數N的取值範圍爲 a <= N <= b;如果 a 的值大於 b 的值,則生成的隨機浮點數 N的取值反胃爲 b <= N <= a。
代碼如下:

# 隨機浮點數
import random
print('random:', random.uniform(50, 100))
print('random', random.uniform(100, 50))

運行結果如下:
在這裏插入圖片描述

3,ra random.randint(a, b)

返回一個隨機的整數 N,N的取值範圍爲 a <= N <= b。注意:a 和 b的取值必須爲整數,並且 a 的值一定要小於 b 的值,代碼如下:

import random
# 生成的隨機數爲N,N的取值範圍爲 12<=N <=20
print(random.randint(12, 20))
# 生成的隨機數爲N,N的結果永遠是20
print(random.randint(20, 20))

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

運行結果如下:
在這裏插入圖片描述

4,random.randrange([start], stop[,step])

返回指定遞增基數集合中的一個隨機數,基數默認值爲 1。其中,start 參數用於指定範圍內的開始值,其包含在範圍內;end 參數用於指定範圍內的結束值,其不包含在範圍內;step表示遞增基數。
上述這些參數必須爲整數。

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

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

5,random.choice(sequence)

從 sequence 中返回一個隨機的元素。其中,sequence 參數可以是列表、元組或字符串。
代碼如下:

import random

# 返回一個隨機的元素
print(random.choice('學習Python'))
print(random.choice(['I', 'is', 'a', 'handsome', 'boy']))
print(random.choice(('Tuple', 'list', 'dict')))

需要注意:若 sequence爲空,則會引發 IndexError異常

6,random.shuffle(x[,random])

用於將列表中的元素打亂順序,俗稱爲洗牌。代碼如下:

import random

# 用於將列表中元素打亂順序
demo_list = ['Python', 'is', 'powerful', 'simple', 'and so on...']
random.shuffle(demo_list)
print(demo_list)

# -------結果(不同機器上的結果可能不一樣)

7,random.sample(sequence,k)

從指定序列中隨機獲取k個元素作爲一個片段返回,sample函數不會修改原有序列。
演示代碼如下:

import random

# 隨機獲取一個k元素作爲一個片段返回
list_num = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

# 從list_num 中隨機獲取5個元素,作爲一個片段返回
slice = random.sample(list_num, 5)  

print(slice)
print(list_num)  # 原有序列並沒有改變


代碼運行結果如下:

在這裏插入圖片描述
END
感謝看到這裏的各位讀者朋友們,如果你感到本文寫的不錯,就順手點個贊收藏一下,也可以關注一波~~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章