---
# System prepended metadata

title: 藝Fun券抽籤方式機率分析

---

# 藝Fun券抽籤方式機率分析

由於本次藝Fun券的抽籤方式有許多爭議，也有許多人覺得不太公平(包括我，尾數6QQQ)

![](https://i.imgur.com/7zgzKqN.jpg)
圖片來源：直播截圖


因此決定寫個小程式模擬抽籤過程，看看是不是真的某幾號機率比較低

### **P.S. 本文討論的範圍只有直播上看見的抽獎過程，不考慮一開始主辦聲稱隨機排列的數字順序**

---

遊戲規則為：

*    箱子內有10顆球，編號0~9，從中抽出兩顆，抽完不放回
*    將抽到的兩顆球號碼相加取其個位數當作該回合走的步數
*    若碰到抽過的號碼就跳過並不算入步數
*    重複直到中籤人數超過200萬人

\
首先第一個問題是簡單的高中排列組合問題，將所有組合數列出來相加並取其個位數後，紀錄下每個步數可能出現的次數，得到以下結果：
```
[4, 5, 4, 5, 4, 5, 4, 5, 4, 5]
```
可看出走0~9步的機率大致相同

但還是有些許的差異，也就是奇數步會較偶數步多1/9的機率。

接下來利用上方得到的結果建立45個元素的list

```
[0, 0, 0, 0, 1, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 5, 6, 6, 6, 6, 7, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 9]
```

待會兒就利用random的方式隨機取出此list的某個元素，代表該回合所走的步數。

---

接下來來模擬輪盤的順序

![](https://i.imgur.com/qRubmUH.png)


```
circle = [-1, 5, 9, 7, 1, 4, -1, 6, 0, 3, 8, 2]
```

如上，-1代表再來一次

接下來就是實作抽籤的過程：

```python=
win = [0]*10                        # 用來紀錄尾數多少的中籤
circle = [-1, 5, 9, 7, 1, 4, -1, 6, 0, 3, 8, 2]
now = 0                             # now為目前所在點
while True :
    step = random.randint(0, 44)    # 決定此回合步數
    step = table[step]
    for i in range(step):
        now = now+1
        if now >= len(circle) :     # 走回原點
            now = 0
    if circle[now] != -1 :          
        win[circle[now]] = win[circle[now]]+1
        circle.remove(circle[now])  # 抽中的remove
        now = now-1
    if len(circle) == 5 :           # 抽籤結束
        break
```

這裡有個問題是，由於沒有公開抽籤的人數有多少，因此無法正確決定要抽幾個人，但照每個尾數的人數都是約30萬來看，就設定結束條件為抽7個人。

---

試跑一次看看：

![](https://i.imgur.com/c8yoUEV.png)
6還是沒中是三ㄒ......

---

由於要算的是機率，因此直接用個一百萬的迴圈讓他跑吧：

![](https://i.imgur.com/ALNHd4T.png)
詳細的機率：
```
[0.715496, 0.701197, 0.645745, 0.719198, 0.685382, 0.717062, 0.716673, 0.712672, 0.675166, 0.711409]
```
再跑兩次試試：
```
[0.71561, 0.700658, 0.646296, 0.71908, 0.685102, 0.716363, 0.716696, 0.713606, 0.674322, 0.712267]

[0.715542, 0.699664, 0.646458, 0.719945, 0.686013, 0.715975, 0.715949, 0.713043, 0.674878, 0.712533]
```

出來的數值都差不多，應該接近收斂了。

由結果可以看到，尾數2的機率真的較其他數字低不少，只有大約64.6%的機率

而機率最高的是尾數3，有71.9%的機率

而我自己的尾數6竟然也有71.6%的機率...

本來做這實驗是想安慰自己的，結果只是證明自己是真的運氣差QQQQQQ

文章最後附上 [原始碼連結](https://github.com/sonic55567/YiFun-Ticket-Analysis/blob/master/YiFun.py)