iT邦幫忙

2024 iThome 鐵人賽

DAY 21
0
Python

30天學Python系列 第 21

Python的random

  • 分享至 

  • xImage
  •  

在 Python 中,random 模組用於生成隨機數或進行隨機選擇。它提供了一組方便的函數來生成各種隨機數,從隨機整數到浮點數,還可以用來隨機打亂列表或從列表中選擇元素。

random() 常用函數

要使用 random,首先需要導入 Python 的 random 模組:

import random

1. random.random()

生成一個介於 0 到 1 之間的浮點數(包括 0,但不包括 1)。

print(random.random())  # 例如: 0.543298765432

2. random.randint(a, b)

生成一個範圍內的隨機整數,包含 a 和 b。

print(random.randint(1, 10))  # 例如: 7 (範圍是 1 到 10)

3. random.uniform(a, b)

生成一個範圍內的隨機浮點數,a 是下限,b 是上限。

print(random.uniform(1.5, 5.5))  # 例如: 3.14159

4. random.shuffle(seq)

將序列中的元素隨機打亂,直接改變原序列。

my_list = [1, 2, 3, 4, 5]
random.shuffle(my_list)
print(my_list)  # 例如: [3, 1, 5, 2, 4]

5. random.choice(seq)

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

my_list = ['apple', 'banana', 'cherry']
print(random.choice(my_list))  # 例如: 'banana'

6. random.sample(population, k)

從給定的序列或集合中隨機選取 k 個不重複的元素,返回一個新列表。

my_list = [1, 2, 3, 4, 5]
print(random.sample(my_list, 2))  # 例如: [4, 2]

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

從給定範圍內隨機選擇一個數字,類似於 range(),但返回的是隨機值。

print(random.randrange(0, 100, 5))  # 例如: 20 (範圍內隨機選擇一個整數)

random() 使用

1. 擲骰子

import random

dice_roll = random.randint(1, 6)
print(f"你擲出的點數是: {dice_roll}")  # 例如: 4

2. 抽籤

import random

participants = ['Alice', 'Bob', 'Charlie', 'David']
winner = random.choice(participants)
print(f"中獎者是: {winner}")  # 例如: 'Bob'

3. 洗牌

import random

deck = list(range(1, 53))  # 撲克牌編號 1 到 52
random.shuffle(deck)
print(deck)  # 例如: [12, 51, 2, 8, 19, ...]

設定隨機種子

使用 random.seed() 函數來設定隨機種子。這樣,每次運行相同的代碼時會得到相同的隨機結果。

import random

random.seed(42)
print(random.random())  # 例如: 0.6394267984578837

上一篇
Python的函數
下一篇
Python的random運用
系列文
30天學Python30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言