python3 randomModule.py

"""
模塊:python3 randomModule.py
功能:python3 random 模塊。
參考:https://www.runoob.com/python3/python3-func-number-random.html
知識點:
1.random.random() -> [0,1)範圍內的隨機浮點數。

2.random.uniform(a, b)
    根據四捨五入,在[a,b)或[a,b]範圍內得到一個隨機浮點數。
    個人認爲:在[a,b)範圍內的隨機浮點數。

3.random.randint(a, b)
    返回範圍 [a,b] 中的隨機整數,包括兩個端點。

4.random.sample(population, k) -> [sample1,sample2, ..., sampleK]
    從 population 序列或集合中,選擇 k 個唯一的隨機元素。

    返回一個新的列表,其中包含來自 population 的元素,同時保持原始 population 不變。
    結果列表是按選擇順序排列的,因此所有子切片也將是有效的隨機樣本。
    這允許抽獎獲獎者(樣本)被劃分爲大獎和第二名獲獎者(切片)。

    population 的成員不需要是可散列的或唯一的。
    如果 population 包含重複,則每個發生都是樣本中的可能選擇。

    若要在整數範圍內選擇樣本,請使用 range 作爲參數。
    這對於從大量 population 中取樣特別快和空間高效:random.sample(range(10000000), 60)
"""
import random

# 1.random.random() -> [0,1)範圍內的隨機數。
print(random.random())
# 0.3376466882363772

# 2.random.uniform(a, b) -> [a,b)範圍內的隨機浮點數。
# 獲取[1, 10) 範圍內的隨機浮點數。
print("\n2.")
print(random.uniform(1, 10))
# 4.6064898295249765

# 3.獲取一個隨機整數。
# 獲取 [1, 100] 中的隨機整數。
print("\n3.")
print(random.randint(1, 100))
# 45


# 4. 隨機取樣。
# 4.1.從列表中隨機取樣,2 個元素。
print("\n4.1.")
lis = [1, 3, 5, 7, 9]
samples = random.sample(lis, 2)
print("samples:", samples)
# samples: [9, 3]

# 4.2.從字典中隨機取樣。
print("\n4.2.")
dictB = {1: '1', 2: '2', 3: '3', 4: '4', 5: '5', 6: '6', 7: '7'}
dictA = {1: '1', 2: '2', 3: '3', 4: '4', 5: '5', 6: '6', 7: '7'}

for c in dictB.keys():
    a = random.sample(dictA.keys(), 1)  # 隨機一個字典中的key,第二個參數爲限制個數
    b = a[0]
    print(dictA[b])  # 打印隨機抽取的值
    del dictA[b]  # 刪除已抽取的鍵值對
    print(dictA)  # 打印剩餘的鍵值對
# 4
# {1: '1', 2: '2', 3: '3', 5: '5', 6: '6', 7: '7'}
# 7
# {1: '1', 2: '2', 3: '3', 5: '5', 6: '6'}
# 1
# {2: '2', 3: '3', 5: '5', 6: '6'}
# 3
# {2: '2', 5: '5', 6: '6'}
# 2
# {5: '5', 6: '6'}
# 5
# {6: '6'}
# 6
# {}


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