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():#自定函数
etk.set(explain[number.get()-1])
def motion(event):
update()
refresh()
f = open('金融常識.txt','r',encoding='utf-8') #讀取504列的題目
read = f.readlines() #read = f.read()
f.close()
List=[]
f = open('解答2024.txt','r',encoding='utf-8',errors='ignore') #讀取504列的題目
readexplain = f.readlines() #read = f.read()
f.close()
Explain = []#define a list
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('biikenPython 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)
etk = 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, justify="left",font=('標楷體',30),bg='pink')#題目
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)
LBnumber.bind('',motion)
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)
btnnexpl = tkinter.Button(tk, text='説明', width=6, command=explain,bg='black',fg='white',font=('微軟中黑體',18)).grid(column=0, row=3)
tk.mainloop()
這個網誌中的熱門文章
裴氏嫩Python 產生金融常識
biikenPython撰寫金融常識測驗網頁 答 1 2 3 4 下列何者不是金融市場的主要功能? 提供金融工具交易的場所 擔任資金需求者與供給者的橋樑 促進投資活動的效率,提升經濟發展 提供交易者投機的場所 答 1 2 3 4 下列何者不是金融市場交易的工具? 商業本票 銀行存款 股票 房地產 答 1 2 3 4 當金融市場管理的品質較佳時,企業發行的成本會______,金融工具的流動性會______。 較低,較低 較高,較低 較低,較高 較高,較高 答 1 2 3 4 當企業需要資金來進行投資,最好不要用下列何種方式尋求融通? 向銀行借錢 發行股票 發行債券 向地下錢莊借錢 答 1 2 3 4 下列何者不是近年來國內主管機關管理金融市場的發展方向? 減少法規的限制 鼓勵金融創新 對國外資金進行更嚴格的限制與管理 加強國際金融的流通 答 1 2 3 4 在金融市場中主管機關訂定法律規範的目的在於: 增加政府的收入 促進金融市場健全發展與有效經營 增加金融機構的進入障礙 提高金融機構的經營成本 答 1 2 3 4 目前國內監理銀行、票券、證券及保險等金融機構的主管機關為: 財政部 內政部 金融監督管理委員會 經濟部 答 1 2 3 4 依照國內金融監督管理制度的架構,主管證券相關事業的監理單位為: 銀行局 保險局 證券期貨局 檢查局 答 1 2 3 4 依照國內金融監理制度的架構,主掌金融業檢查業務的單位為: 銀行局 中央銀行 中央存款保險公司 檢查局 答 1 2 3 4 下列何者非隸屬「金融監督管理委員會」? 銀行局 公務人員退休撫卹基金管理委員會 證券期貨局 檢查局 答 1 2 3 4 下列何者不屬證券期貨局監理的機構? 投信公司 期貨公司 證券商 保險公司 答 1 2 3 4 下列何者不是檢查局業務檢查的機構? 保險公司 銀行 證券公司 金融資訊服務公司 答 1 2 3 4 下列何者非政府(金管會及中央銀行)管理金融市場的措施? 訂定金融機構的資本適足率 金融檢查的立即糾正措施 訂定金融機構呆帳準備的提列 限制存款戶的存款金額 答 1 2 3 4 下列何者非次級市場交易? 個別投資人透過他的經紀...
裴氏嫩字串string方法method計數count分割split
x='下列何種數據資料單位代表1024GB?(1)1ZB(2)1EB(3)1PB(4)1TB\n下列哪一個名詞和其他三個名詞不同義?(1)數據資料(2)大數據(3)巨量資料(4)海量資料\n下列何者非屬網際網路興起後的數位商品或服務模式?(1)純網路銀行(2)電子資金轉帳(3)電子商務支付系統(4)加密貨幣\n機器人是人工智慧的容器,機器人是身體,而人工智慧可以比喻成機器人的哪一部分?(1)心臟(2)腳(3)手(4)大腦\n當保險業欲透過網路與電話語音等通路提供服務時,可運用何項技術驗證身分?(1)生物辨識(2)通訊技術(3)物聯網技術(4)網路技術\n下列何項敘述非屬純網路銀行的明顯獨特特色?(1)沒有實體分行(2)沒有實體ATM機器(3)營業時間無限制全年無休(4)透過APP 提供金融服務\n下列何者非屬我國核准設立之純網路銀行?(1)連線銀行(2)將來銀行(3)新網銀行(4)樂天銀行\n目前各國金融監理機關對比特幣抱持戒慎恐懼的態度,考量的原因包含下列哪幾項? A.洗錢 B.資恐 C.逃稅 D.詐騙(1)僅 A(2)僅 A、B(3)僅 A、B、C(4)A、B、C、D\n' for i in range(1,5): temp = '(' + str(i) +')' print(temp, '出現次數', x.count(temp)) y = x.split('\n') for i in y: print(i) for i in range(3): print('第',i,'題', y[i])
留言
張貼留言