import tkinter #輸入tkinter繪圖模組 #財金程式設計602
class Financial: #類別用於建構504道金融常識題目
def __init__(self, number, q, a, b, c, d, ans):
self.number, self.q, self.ans = number, q, ans
self.a, self.b, self.c, self.d = a, b, c, d
def check(choice):
choice = reply.get() #以字串存'1'...'4'
temp = number.get() - 1 #題號
if choice == '1':
LBa.config(bg="#a4abc1")
if choice == List[temp].ans: LBa.config(bg='blue',fg='white')
if choice == '2':
LBb.config(bg="#a4abc1")
if choice == List[temp].ans: LBb.config(bg='blue',fg='white')
if choice == '3':
LBc.config(bg="#a4abc1")
if choice == List[temp].ans: LBc.config(bg='blue',fg='white')
if choice == '4':
LBd.config(bg="#a4abc1")
if choice == List[temp].ans: LBd.config(bg='blue',fg='white')
def update():
qtk.set(List[number.get()-1].q)
atk.set(List[number.get()-1].a)
btk.set(List[number.get()-1].b)
ctk.set(List[number.get()-1].c)
dtk.set(List[number.get()-1].d)
reply.set('答')
def refresh():
LBa.config(bg='white',fg='black')
LBb.config(bg='white',fg='black')
LBc.config(bg='white',fg='black')
LBd.config(bg='white',fg='black')
def prev():
if number.get() == 1: number.set(504)
else: number.set(number.get() - 1)
update()
refresh()
def next():
if number.get() == 504: number.set(1)
else: number.set(number.get() + 1)
update()
refresh()
def explain():#自訂函數解釋
pass #函數PASS跳過
f = open('金融常識.txt','r',encoding='utf-8') #讀取504列的題目
read = f.readlines() #read = f.read()
f.close()#解答2024.txt
List = []
f = open('金融常識.txt','r',encoding='utf-8') #讀取504列的題目
readexplain = f.readlines() #read = f.read()
f.close()#解答2024.txt
Explain=[]
Answer=(4,4,3,4,3,2,3,3,4,2,4,4,4,3,4,2,3,1,1,2,1,2,3,3,1,3,4,4,3,4,1,4,3,2,4,2,2,3,2,4,1,4,1,1,4,3,1,2,4,1,2,1,4,4,4,1,4,2,1,3,3,1,4,4,3,2,2,2,4,4,1,3,3,1,2,4,1,3,4,4,2,4,4,3,4,1,3,2,3,2,3,2,2,2,4,4,4,1,1,2,2,4,4,1,4,1,4,4,4,2,1,1,2,1,2,1,2,2,3,3,3,4,2,1,1,1,1,2,2,1,4,4,4,4,4,4,4,3,4,4,1,1,2,2,3,4,4,3,1,4,2,3,3,2,1,3,4,4,2,4,1,1,3,3,2,2,3,1,2,1,4,3,3,2,2,2,1,4,2,4,3,3,3,1,3,3,2,3,3,1,4,4,3,2,4,2,2,4,1,1,1,3,1,3,2,2,3,4,4,3,2,2,1,2,4,1,1,2,2,1,1,1,3,1,2,2,2,1,1,4,1,3,1,1,1,1,1,3,1,2,3,3,3,2,4,3,3,3,1,2,4,2,3,3,1,4,2,3,3,3,4,1,2,3,2,3,4,2,3,4,4,1,2,4,3,4,4,2,2,3,1,4,3,4,2,1,2,3,2,4,2,1,3,4,1,2,1,1,4,1,2,4,1,4,3,4,4,2,2,1,1,2,3,4,3,3,1,3,1,4,4,3,2,4,4,2,1,1,4,1,1,2,3,2,3,3,4,2,2,4,3,3,3,2,1,1,2,2,4,1,4,1,3,1,1,4,1,4,4,3,1,4,3,3,2,1,1,4,2,4,2,4,1,1,4,1,3,1,2,4,1,1,4,1,3,1,3,4,1,4,2,3,1,3,2,3,3,3,4,2,3,4,3,1,4,1,3,3,4,4,4,4,1,2,3,1,3,3,3,1,3,4,1,3,1,4,1,3,2,4,4,3,1,1,4,2,1,3,1,2,2,1,1,4,3,2,3,4,1,4,1,1,4,2,1,2,1,2,4,3,1,3,3,2,4,3,1,2,1,3,3,3,1,4,3,1,3,2,3,1,3,1,4,1,1,4,4,2,3,1,4,4,3,4,1,3,4,2,3,4,4,2,3,1)
nList, nAnswer = len(read), len(Answer)
if nList != nAnswer: print('題目長度 ', nList, ' 與答案長度 ', nAnswer,' 不同!')
for i in range( nList ):
a1 = read[i].find('(1)')
b2 = read[i].find('(2)')
c3 = read[i].find('(3)')
d4 = read[i].find('(4)')
q = read[i][:a1]
a = '(1) ' + read[i][a1 + 3 : b2]
b = '(2) ' + read[i][b2 + 3 : c3]
c = '(3) ' + read[i][c3 + 3 : d4]
d = '(4) ' + read[i][d4 + 3 : -1]
List.append( Financial( i+1, q, a, b, c, d, str(Answer[i])) )
Explain.append(readexplain[i])
tk = tkinter.Tk()
tk.title('潘沛羽Python tkinter GUI金融常識測驗App')
tk.geometry('1200x400')
number = tkinter.IntVar(tk)
reply, qtk = tkinter.StringVar(tk), tkinter.StringVar(tk)
atk, btk = tkinter.StringVar(tk), tkinter.StringVar(tk)
ctk, dtk = tkinter.StringVar(tk), tkinter.StringVar(tk)
select = ('1', '2', '3', '4')
reply.set('答')
number.set(1)
update()
option = tkinter.OptionMenu(tk, reply, *select, command=check).grid(column=1, row=0)
LBq = tkinter.Label(tk, textvariable=qtk, wrap=1000, font=('微軟中黑體',16), justify="left")#題目
LBq.grid(column=2, row=0, sticky=tkinter.W)
LBa = tkinter.Label(tk, textvariable=atk, bg='white', fg='black')
LBa.grid(column=2, row=1, sticky=tkinter.W) #選項(1)
LBb = tkinter.Label(tk, textvariable=btk, bg='white', fg='black')
LBb.grid(column=2, row=2, sticky=tkinter.W) #選項(2)
LBc = tkinter.Label(tk, textvariable=ctk, bg='white', fg='black')
LBc.grid(column=2, row=3, sticky=tkinter.W) #選項(3)
LBd = tkinter.Label(tk, textvariable=dtk, bg='white', fg='black')
LBd.grid(column=2, row=4, sticky=tkinter.W) #選項(4)
LBnumber = tkinter.Entry(tk, textvariable=number, width = 3)
LBnumber.grid(column=0, row=0)
btnprev = tkinter.Button(tk, text='前一題', width=6, command=prev).grid(column=0, row=1)
btnnext = tkinter.Button(tk, text='下一題', width=6, command=next).grid(column=0, row=2)
btnEXPL = tkinter.Button(tk, text='說明', width=6, command=next).grid(column=0, row=3)
tk.mainloop() #按下上面的btnEXPL則執行explain
這個網誌中的熱門文章
潘沛羽 google colab執行python產生網頁
維基百科google colab Google Colab(Google Colaboratory)是一個由 Google Research 提供的免費雲端 Jupyter Notebook 編輯執行環境。它讓使用者不需安裝任何軟體,直接透過瀏覽器就能撰寫及執行 Python 程式碼,並提供免費的 GPU 及 TPU 運算資源。 gooole colab運算機房地點 Google Colab 沒有單一固定的運算機房地點,而是動態分配於 Google 全球的 Google Cloud 資料中心。當您啟動 Colab 執行階段時,系統會根據全球機房的剩餘算力(特別是 GPU 資源)進行動態調配。運算虛擬機的主要分布區域大部分的免費或 Pro 版 Colab 運算節點,會優先分配在美國境內的機房,但也會根據需求分配到歐洲或亞洲:美國區域(最常見):us-central1(愛荷華州)、us-east1(南卡羅來納州)、us-west1(奧勒岡州)等。亞洲區域:包含台灣(彰濱工業區的 Google 台灣資料中心)、日本、新加坡等。歐洲區域:比利時、荷蘭、芬蘭等。 gooole colab處理器 Google Colab 提供的硬體運算處理器廠牌主要為 NVIDIA(負責 GPU 晶片)以及 Google 自家研發(負責 CPU 與 TPU 晶片)。根據不同的執行階段類型(Runtime),Colab 配置的處理器廠牌與型號詳細分類如下:1. 圖形處理器 (GPU)GPU 是 Colab 最常被用來進行深度學習訓練的硬體,其晶片廠牌 全數採用 NVIDIA。免費版用戶:通常會分配到 NVIDIA Tesla T4。付費版用戶 (Pro / Pro+ / Enterprise):有機會分配到更高級的 NVIDIA A100、V100 或 L4 等企業級加速晶片。2. 張量處理器 (TPU)TPU 是專門為加速機器學習(如 TensorFlow、PyTorch)設計的專用晶片,其廠牌為 Google 自行研發 的客製化 ASIC 晶片。Colab 主要提供的是 Google TPU v2 或 v3 的雲端運算資源。3. 中央處理器 (CPU)不論是免費或付費方案,Colab 的基礎虛擬機架構都建立在 Google Cloud Platform (GCP) 上。其 CPU 廠牌...
乙班潘沛羽期中考EXCEL和Javascript比較
期中考學習報告與心得 老師說:人生經驗的歸屬、參予、認同和成就感,起始於學齡前模仿大人的行為。 55歲以上的人口,小時候必須陪同家人下田或在客廳做手工,人生的勤奮和追求成就動能就是如此養成。 現在的小孩子沒有這種機會,家庭條件不完善的家庭,只能靠手機或平板當作最廉價的托育工具;過了16歲,人生的軌跡定型。 到了大學,靠著當面的互動、動手做(尤其是電腦課程),還能挽回多少人生軌跡的偏離?動手做,累積成就經驗和軌跡,不斷累積,形成重複的動能。paragraph段落 "黃湘盈" and "程式設計" 網頁執行IRR和EXCEL比較 躉繳 第1期 第2期 第3期 注意,包含首期躉繳的現金流量都大於0。 輸出: 報酬率: 淨現值: 迴圈次數: EXCEL對照截圖 Google問Javascript和Python差異 JavaScript 和 Python 是目前最受歡迎的兩種程式語言,它們的主要差異在於設計目的與執行環境:JavaScript 最初是為了瀏覽器網頁互動而生,而 Python 則是為了提高程式碼可讀性與通用開發而設計。 iT 邦幫忙 iT 邦幫忙 +1 以下是兩者的詳細對比: 1. 核心定位與應用領域 JavaScript: 主要戰場:前端開發的霸主,所有瀏覽器都原生支援。 擴展應用:透過 Node.js 也能開發後端伺服器,以及透過 React Native 開發行動 App。 Python: 主要戰場:人工智慧 (AI)、資料科學、機器學習及後端自動化腳本。 擴展應用:雖然也能做後端網頁開發(如 Django),但在前端領域的使用遠不及 JavaScript。 Reddit Reddit +3 2. 語法特性 程式碼風格: Python:強調簡潔、優雅,使用縮排(Indentation)來定義程式碼區塊,語法非常接近英文,適合初學者。 JavaScript:使用大括號 {} 定義區塊,每行結尾通常使用分號 ;,語法深受 C 語言影響。 變數型別: Python:屬於強型別、動態型別。 JavaScript:屬於弱型別、動態型別,這意味著它在型別轉換上比較「隨意」,有時會產生讓人困惑的計算結果。 Reddit Reddit +3...
神級的專業、厲害,是因為我的協助嗎?https://623294.blogspot.com/2025/11/import-tkinter-tkinter-602-class.html
回覆刪除