iT邦幫忙

2024 iThome 鐵人賽

DAY 18
0

在Python中,random模塊提供了生成隨機數的各種方法。這些隨機數可以用來進行模擬、隨機選擇、隨機排列等多種操作。接下來我們介紹一些常用的隨機數生成和操作方法。

壹、生成隨機浮點數

一、random.random()

生成一個位於 (0.0, 1.0) 區間的隨機浮點數。

import random

result = random.random()
print(f"隨機浮點數: {result}")

二、random.uniform(a, b)

生成一個位於[a, b]區間的隨機浮點數。

result = random.uniform(1.5, 5.5)
print(f"隨機浮點數在1.5到5.5之間: {result}")

貳、生成隨機整數

一、random.randint(a, b)

生成一個位於[a, b]區間的隨機整數,包含兩端。

result = random.randint(1, 10)
print(f"隨機整數在1到10之間: {result}")

二、random.randrange(start, stop[, step])

startstop-1的範圍內,根據step選擇一個隨機整數。step是可選參數,默認為1。

result = random.randrange(0, 100, 5)
print(f"隨機整數在0到100之間(步長為5): {result}")

參、隨機選擇元素

一、random.choice(seq)

從非空序列(如列表、元組、字符串等)中隨機選擇一個元素。

choices = ['apple', 'banana', 'cherry', 'date']
result = random.choice(choices)
print(f"隨機選擇的水果: {result}")

二、random.choices(seq, k=N)

從序列中隨機選擇k個元素,並返回一個列表,元素可以重複。

choices = ['apple', 'banana', 'cherry', 'date']
result = random.choices(choices, k=3)
print(f"隨機選擇的三個水果: {result}")

三、random.sample(seq, k)

從序列中隨機選擇k個不同的元素,並返回一個列表,不允許重複。

choices = ['apple', 'banana', 'cherry', 'date']
result = random.sample(choices, 2)
print(f"隨機選擇的兩個不同水果: {result}")

肆、打亂順序

一、 random.shuffle(seq)

將序列的元素隨機打亂順序,並直接修改原序列。

numbers = [1, 2, 3, 4, 5]
random.shuffle(numbers)
print(f"打亂順序後的列表: {numbers}")

伍、生成隨機分布

一、random.gauss(mu, sigma)

生成符合高斯分布(正態分布)的隨機浮點數。mu是均值,sigma是標準差。

result = random.gauss(0, 1)  # 均值0,標準差1的高斯分布
print(f"高斯分布隨機數: {result}")

二、其他分布

random模塊還提供了其他常見的隨機分布方法,如:

  • random.expovariate(lambd):指數分布。
  • random.betavariate(alpha, beta):Beta 分布。
  • random.gammavariate(alpha, beta):Gamma 分布。

陸、設置隨機種子

可以使用random.seed()設置隨機數種子來生成可重現的隨機數序列。相同的種子值將生成相同的隨機數。

random.seed(42)  # 設置隨機種子
result1 = random.random()
result2 = random.random()
print(f"隨機數1: {result1}, 隨機數2: {result2}")

上一篇
第17天:多態性
下一篇
第19天:日期和時間
系列文
python30天入門學習30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言