介绍
今天就跟大家聊聊有关使用Python语言实现智力问答小游戏功能,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
<强> 强>
使用SQLite数据库建立题库,本质上就是SQL语句,创建考试表,实现代码如下所示:
#导入SQLite驱动 进口sqlite3 #连接到SQLite数据库,数据库文件是test.db #如果文件不存在,会自动在当前目录创建: 康涅狄格州=sqlite3.connect (& # 39; test2.db& # 39;) 光标=conn.cursor() #创建一个游标: 从exam" # cursor.execute(“删除) #执行一条SQL语句,创建考试表: cursor.execute(& # 39;创建表(考试)([问题]VARCHAR (80) NULL, Answer_A VARCHAR(1)空,Answer_B VARCHAR(1)空,Answer_C VARCHAR(1)空,Answer_D VARCHAR(1)空,[right_Answer] VARCHAR(1)零)& # 39;) #继续执行一条SQL语句,插入一条记录: cursor.execute(“插入考试(Answer_A,问题Answer_B、Answer_C Answer_D, right_Answer)值(& # 39;哈雷慧星的平均周期为& # 39;,& # 39;54年& # 39;,& # 39;56年& # 39;,& # 39;73年& # 39;,& # 39;83年& # 39;,& # 39;c # 39;)“) cursor.execute(“插入考试(Answer_A,问题Answer_B、Answer_C Answer_D, right_Answer)值(& # 39;夜郎自大中“夜郎”指的是现在哪个地方? & # 39;,& # 39;贵州& # 39;,& # 39;云南& # 39;,& # 39;广西& # 39;,& # 39;福建& # 39;,& # 39;一个# 39;)“) cursor.execute(“插入考试(Answer_A,问题Answer_B、Answer_C Answer_D, right_Answer)值(& # 39;在中国历史上是谁发明了麻药& # 39;,& # 39;孙思邈& # 39;,& # 39;华佗& # 39;,& # 39;张仲景& # 39;,& # 39;扁鹊& # 39;,& # 39;b # 39;)“) cursor.execute(“插入考试(Answer_A,问题Answer_B、Answer_C Answer_D, right_Answer)值(& # 39;京剧中花旦是指& # 39;,& # 39;年轻男子& # 39;,& # 39;年轻女子& # 39;,& # 39;年长男子& # 39;,& # 39;年长女子& # 39;,& # 39;b # 39;)“) cursor.execute(“插入考试(Answer_A,问题Answer_B、Answer_C Answer_D, right_Answer)值(& # 39;篮球比赛每队几人? & # 39;,& # 39;4 & # 39;,& # 39;5 & # 39;,& # 39;6 & # 39;,& # 39;7 & # 39;,& # 39;b # 39;)“) cursor.execute(“插入考试(Answer_A,问题Answer_B、Answer_C Answer_D, right_Answer)值(& # 39;在天愿作比翼鸟,在地愿为连理枝。讲述的是谁的爱情故事? & # 39;,& # 39;焦钟卿和刘兰芝& # 39;,& # 39;梁山伯与祝英台& # 39;,& # 39;崔莺莺和张生& # 39;,& # 39;杨贵妃和唐明皇& # 39;,& # 39;d # 39;)“) #通过rowcount获得插入的行数: 打印(cursor.rowcount) # 1 #关闭游标: cursor.close () #提交事务: conn.commit () #关闭连接: conn.close ()
从建立好的题库数据库中读取试题信息,callNext()函数实现判断用户选择答案的正误,正确则加10分,错误不加分。并判断用户是否做完,如果没做完则将下一题的题目信息显示到timu标签,而4个选项显示到节目迎合广大~这4个单选按钮上;callResult()函数在GUI上显示此时答题得分,实现代码如下所示:
康涅狄格州=sqlite3.connect (& # 39; test2.db& # 39;) 光标=conn.cursor () #执行查询语句: cursor.execute(& # 39;从考试# 39;选择*) #获得查询结果集: 值=cursor.fetchall () print(值) 打印(& # 39;记录数:& # 39;,len(值)) k范围内(len(值)): 打印(k值[k] [0]) cursor.close () conn.close () def callNext (): 全球k 全球得分 useranswer=r.get () print (r.get()) #获取被选中单选按钮变量的值 如果useranswer==值[k] [5]: showinfo(“恭喜”,“恭喜你对了!“) +=10分 其他: showinfo(“遗憾“,“遗憾你错了!“) k=k + 1 如果k>=len(值): showinfo(“提示“,“题目做完了“) 返回 #显示下一题 timu [“text"] [k][0]=值 迎合广大[“text"]=值[k] [1] radio2 [“text"]=值[k] [2] radio3 [“text"]=值[k] [3] 节目(“text")=值[k] [4] r.set (& # 39; e # 39;) def callResult (): showinfo(“你的得分“,str(分数))使用Python语言实现智力问答小游戏功能