大樂透電腦選號
這篇文章會介紹使用 Python 的 random 隨機數模組,做出大樂透電腦選號的程式 ( 從 1~49 個數字中,選出六個不重複的數字 )。
本篇使用的 Python 版本為 3.7.12,所有範例可使用 Google Colab 實作,不用安裝任何軟體 ( 參考:使用 Google Colab )
方法一、串列判斷
先建立一個空串列,接著不斷將 1~49 的隨機數放入串列中,放入時進行判斷,如果串列中已經有該數字就不放入,直到串列的長度等於 6 為止。
import random
a = [] # 建立空串列
while len(a)<6: # 使用 while 迴圈,直到串列的長度等於 6 就停止
b = random.randint(1, 49) # 取出 1~49 得隨機整數
if b not in a: # 判斷如果 a 裡面沒有 b
a.append(b) # 將 b 放入 a
print(a) # [34, 18, 31, 11, 47, 46]
方法二、搭配集合 set
因為 Python 的集合有著「項目不會重複」的特性,所以只要將 1~49 的隨機數字不斷放到一個集合裡,直到集合的項目到達六個,就完成選號不重複的動作。
參考:集合
import random
a = set() # 建立空集合
while len(a)<6: # 使用 while 迴圈,直到集合的長度等於 6 就停止
b = random.randint(1, 49) # 取出 1~49 得隨機整數
a.add(b) # 將隨機數加入集合
print(a) # {34, 41, 48, 49, 19, 30}
方法三、使用 random.sample
因為 Python random 模組裡的 random.sample 具有取出不重複項目的特性,所以只要使用 random.sample 就能輕鬆的取得串列中的六個不重複數字。
import random
a = random.sample(range(1, 50), 6)
# 從包含 1~49 數字的串列中,取出六個不重複的數字變成串列
print(a) # [9, 39, 10, 8, 25, 43]
意見回饋
如果有任何建議或問題,可傳送「意見表單」給我,謝謝~