統一發票對獎
這篇文章會介紹使用 Python 的串列處理和 for 迴圈,讓使用者輸入統一發票號碼之後,自動判斷該發票號碼是否中獎,如果中獎則顯示中獎金額。
本篇使用的 Python 版本為 3.7.12,所有範例可使用 Google Colab 實作,不用安裝任何軟體 ( 參考:使用 Google Colab )
哪裡可以查詢中獎號碼?
進入「財政部稅務入口網」,就可以看到中獎的號碼。
基本原理
特別獎和特獎都是單一號碼,可以單獨判斷,但因為頭獎需要判斷中獎號碼的「位數」,所以必須使用 for 迴圈進行判斷。
編輯程式
按照最小公倍數的原理,編輯程式,當中會使用 list() 操作串列、slice() 讀取串列項目 、for 迴圈 進行重複的行為。
num = input('輸入你的發票號碼:')
ns = '05701942' # 特別獎
n1 = '97718570' # 特獎
n2 = ['88400675','73475574','53038222'] # 頭獎
if num == ns: print('對中 1000 萬元!') # 對中特別獎
if num == n1: print('對中 200 萬元!') # 對中特獎
# 頭獎判斷
for i in n2:
if num == i:
print('對中 20 萬元!') # 對中頭獎
break
if num[-7:] == i[-7:]:
print('對中 4 萬元!') # 末七碼相同
break
if num[-6:] == i[-6:]:
print('對中 1 萬元!') # 末六碼相同
break
if num[-5:] == i[-5:]:
print('對中 4000 元!') # 末五碼相同
break
if num[-4:] == i[-4:]:
print('對中 1000 元!') # 末四碼相同
break
if num[-3:] == i[-3:]:
print('對中 200 元!') # 末三碼相同
break
意見回饋
如果有任何建議或問題,可傳送「意見表單」給我,謝謝~