Python GUI+数据库 智力问答小游戏

import sqlite3
import tkinter
from tkinter import *
from tkinter.messagebox import *
conn=sqlite3.connect("test2.db")
cursor=conn.cursor()
cursor.execute("drop table exam")
cursor.execute("""create table exam(question varchar(80) null,
                                    Answer_A varchar(1) null,
                                    Answer_B varchar(1) null,
                                    Answer_C varchar(1) null,
                                    Answer_D varchar(1) null,
                                    right_Answer varchar(1) null)""")
cursor.execute("insert into exam values('哈雷彗星的平均周期为','54年','56年','73年','83年','C')")
cursor.execute("insert into exam values('夜郎自大中的“夜郎”指的是现在哪个地方?','贵州','云南','广西','福建','A')")
cursor.execute("insert into exam values('中国历史上谁发明了麻药?','孙思邈','华佗','张仲景','扁鹊','B')")
cursor.execute("insert into exam values('京剧中的“花旦”是指?','年轻男子','年轻女子','年长男子','年长女子','B')")
cursor.execute("insert into exam values('篮球比赛每队几人?','4','5','6','7','B')")
cursor.execute("insert into exam values('在天愿做比翼鸟,在地愿为连理枝的主人公是谁?','焦仲卿和刘兰芝','梁山伯和祝英台','崔莺莺和张生','唐明皇和杨贵妃','D')")
cursor.execute("select * from exam")
values=cursor.fetchall()
cursor.close()
conn.commit()
conn.close()

def callNext():
    global k
    global score
    user_answer=r.get()
    print(r.get())
    if user_answer==values[k][5]:
        score+=10
    else:
        showinfo("错误","答错了!")
    k=k+1
    if k>=len(values):
        showinfo("提示","题目已做完,点击“提交”查看得分")
        return 
    
    timu["text"]=values[k][0]
    radio1["text"]=values[k][1]
    radio2["text"]=values[k][2]
    radio3["text"]=values[k][3]
    radio4["text"]=values[k][4]
    r.set('E')
    
def callResult():
    showinfo("成绩查看","满分70分,你的得分为"+str(score))
    
root=tkinter.Tk()
root.title('Python 智力问答游戏')
root.geometry("500x200")
r=tkinter.StringVar()
r.set('E')
k=0
score=0
timu=tkinter.Label(root,text=values[k][0])
timu.pack()
f1=Frame(root)
f1.pack()
radio1=tkinter.Radiobutton(f1,variable=r,value='A',text=values[k][1])
radio1.pack()
radio2=tkinter.Radiobutton(f1,variable=r,value='B',text=values[k][2])
radio2.pack()
radio3=tkinter.Radiobutton(f1,variable=r,value='C',text=values[k][3])
radio3.pack()
radio4=tkinter.Radiobutton(f1,variable=r,value='D',text=values[k][4])
radio4.pack()
f2=Frame(root)
f2.pack()
Button(f2,text= ' 下一题 ',command=callNext).pack(side=LEFT)
Button(f2,text= ' 提交 ',command=callResult).pack(side=LEFT)    
root.mainloop()
    
    
    
    
    
    
    
    
    
    
    
    
    
    

猜你喜欢

转载自blog.csdn.net/ur_ytii/article/details/112722816