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()
Python GUI+数据库 智力问答小游戏
这段代码创建了一个基于SQLite数据库的Python知识问答游戏,包含7个问题,涉及历史、文化、体育等领域。用户通过Tkinter GUI选择答案,程序会检查并给出反馈。游戏结束后,用户可以查看得分。
摘要由CSDN通过智能技术生成