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

这个博客介绍了一个使用Python的tkinter库创建GUI界面,并结合SQLite数据库实现的智力问答游戏。游戏包含了多个历史、文化等领域的题目,用户通过选择答案进行答题,程序会根据正确与否更新分数。游戏结束时,用户可以查看得分。
摘要由CSDN通过智能技术生成

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()

3a176efeee90612157af0641f1cede7b.png

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值