电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術(shù)文章
文章詳情頁

Python語言編寫智力問答小游戲功能

瀏覽:7日期:2022-07-08 14:45:49

本篇博文將使用Python代碼語言簡單編寫一個輕松益智的小游戲,效果如下所示:

Python語言編寫智力問答小游戲功能

1、設(shè)計思路

本項目使用SQLite建立問答題庫,每道題包括4個選項答案(3個正確答案,1個錯誤答案)。每道題都有一定分值,根據(jù)用戶的答題效率,自動計算出最后的答題成績。

Python語言編寫智力問答小游戲功能

2、建立題庫

使用SQLite數(shù)據(jù)庫建立題庫,本質(zhì)上就是SQL語句,創(chuàng)建exam表,實現(xiàn)代碼如下所示:

#導入SQLite驅(qū)動import sqlite3 # 連接到SQLite數(shù)據(jù)庫,數(shù)據(jù)庫文件是test.db# 如果文件不存在,會自動在當前目錄創(chuàng)建:conn = sqlite3.connect(’test2.db’)cursor = conn.cursor()# 創(chuàng)建一個Cursor:#cursor.execute('delete from exam')# 執(zhí)行一條SQL語句,創(chuàng)建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)’)# 繼續(xù)執(zhí)行一條SQL語句,插入一條記錄:cursor.execute('insert into exam (question, Answer_A,Answer_B,Answer_C,Answer_D,right_Answer) values (’哈雷慧星的平均周期為’, ’54年’, ’56年’, ’73年’, ’83年’, ’C’)')cursor.execute('insert into exam (question, Answer_A,Answer_B,Answer_C,Answer_D,right_Answer) values (’夜郎自大中“夜郎”指的是現(xiàn)在哪個地方?’, ’貴州’, ’云南’, ’廣西’, ’福建’, ’A’)')cursor.execute('insert into exam (question, Answer_A,Answer_B,Answer_C,Answer_D,right_Answer) values (’在中國歷史上是誰發(fā)明了麻藥’, ’孫思邈’, ’華佗’, ’張仲景’, ’扁鵲’, ’B’)')cursor.execute('insert into exam (question, Answer_A,Answer_B,Answer_C,Answer_D,right_Answer) values (’京劇中花旦是指’, ’年輕男子’, ’年輕女子’, ’年長男子’, ’年長女子’, ’B’)')cursor.execute('insert into exam (question, Answer_A,Answer_B,Answer_C,Answer_D,right_Answer) values (’籃球比賽每隊幾人?’, ’4’, ’5’, ’6’, ’7’, ’B’)')cursor.execute('insert into exam (question, Answer_A,Answer_B,Answer_C,Answer_D,right_Answer) values (’在天愿作比翼鳥,在地愿為連理枝。講述的是誰的愛情故事?’, ’焦鐘卿和劉蘭芝’, ’梁山伯與祝英臺’, ’崔鶯鶯和張生’, ’楊貴妃和唐明皇’, ’D’)')# 通過rowcount獲得插入的行數(shù):print(cursor.rowcount) #1# 關(guān)閉Cursor:cursor.close()# 提交事務(wù):conn.commit()# 關(guān)閉Connection:conn.close()

3、答題設(shè)計

從建立好的題庫數(shù)據(jù)庫中讀取試題信息,callNext()函數(shù)實現(xiàn)判斷用戶選擇答案的正誤,正確則加10分,錯誤不加分。并判斷用戶是否做完,如果沒做完則將下一題的題目信息顯示到timu標簽,而4個選項顯示到radio1~ radio4這4個單選按鈕上;callResult()函數(shù)在GUI上顯示此時答題得分,實現(xiàn)代碼如下所示:

conn = sqlite3.connect(’test2.db’)cursor = conn.cursor()# 執(zhí)行查詢語句:cursor.execute(’select * from exam’)# 獲得查詢結(jié)果集:values = cursor.fetchall()print(values) print(’記錄數(shù):’,len(values))for k in range(len(values)): print(k,values[k][0])cursor.close()conn.close() def callNext(): global k global score useranswer=r.get() print (r.get()) #獲取被選中單選按鈕變量值 if useranswer==values[k][5]: showinfo('恭喜','恭喜你對了!') 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('你的得分',str(score))

4、GUI設(shè)計

最后設(shè)計GUI,添加兩個Frame組件組件,實現(xiàn)選擇答案、確認和查看結(jié)果功能,實現(xiàn)代碼如下所示:

import tkinterfrom tkinter import *from tkinter.messagebox import * root=tkinter.Tk()root.title(’Python智力問答游戲’)root.geometry('500x200')r=tkinter.StringVar()#創(chuàng)建StringVar對象r.set(’E’) #設(shè)置初始值為’E’,初始沒選中k=0score=0timu=tkinter.Label(root,text=values[k][0]) #題目timu.pack()f1 = Frame(root)#創(chuàng)建第1個Frame組件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)#創(chuàng)建第2個Frame組件f2.pack()Button(f2,text = ’下一題’,command=callNext).pack(side = LEFT)Button(f2,text = ’結(jié) 果’,command=callResult).pack(side = LEFT)root.mainloop()

到此這篇關(guān)于Python語言編寫智力問答小游戲功能的文章就介紹到這了,更多相關(guān)Python 智力問答小游戲內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 农业仪器网 - 中国自动化农业仪器信息交流平台 | sus630/303cu不锈钢棒,440C/430F/17-4ph不锈钢研磨棒-江苏德镍金属科技有限公司 | 上海单片机培训|重庆曙海培训分支机构—CortexM3+uC/OS培训班,北京linux培训,Windows驱动开发培训|上海IC版图设计,西安linux培训,北京汽车电子EMC培训,ARM培训,MTK培训,Android培训 | 玻璃钢罐_玻璃钢储罐_盐酸罐厂家-河北华盛节能设备有限公司 | 苏州西装定制-西服定制厂家-职业装定制厂家-尺品服饰西装定做公司 | Copeland/谷轮压缩机,谷轮半封闭压缩机,谷轮涡旋压缩机,型号规格,技术参数,尺寸图片,价格经销商 CTP磁天平|小电容测量仪|阴阳极极化_双液系沸点测定仪|dsj电渗实验装置-南京桑力电子设备厂 | 上海深蓝_缠绕机_缠膜机-上海深蓝机械装备有限公司 | C形臂_动态平板DR_动态平板胃肠机生产厂家制造商-普爱医疗 | 下水道疏通_管道疏通_马桶疏通_附近疏通电话- 立刻通 | 中国产业发展研究网 - 提供行业研究报告 可行性研究报告 投资咨询 市场调研服务 | 交联度测试仪-湿漏电流测试仪-双85恒温恒湿试验箱-常州市科迈实验仪器有限公司 | 展厅装修公司|企业展厅设计|展厅制作|展厅搭建—广州展厅装饰公司 | 钣金加工厂家-钣金加工-佛山钣金厂-月汇好 | 电主轴-高速精密电主轴-高速电机厂家-瑞德沃斯品牌有限公司 | 十二星座查询(性格特点分析、星座运势解读) - 玄米星座网 | FAG轴承,苏州FAG轴承,德国FAG轴承-恩梯必传动设备(苏州)有限公司 | 一体化污水处理设备_生活污水处理设备_全自动加药装置厂家-明基环保 | 食品质构分析仪-氧化诱导分析仪-瞬态法导热系数仪|热冰百科 | 解放卡车|出口|济南重汽|报价大全|山东三维商贸有限公司 | 广州中央空调回收,二手中央空调回收,旧空调回收,制冷设备回收,冷气机组回收公司-广州益夫制冷设备回收公司 | R507制冷剂,R22/R152a制冷剂厂家-浙江瀚凯制冷科技有限公司 | 沈阳真空机_沈阳真空包装机_沈阳大米真空包装机-沈阳海鹞真空包装机械有限公司 | 金库门,金库房,金库门厂家,金库门价格-河北特旺柜业有限公司 | 塑胶跑道_学校塑胶跑道_塑胶球场_运动场材料厂家_中国塑胶跑道十大生产厂家_混合型塑胶跑道_透气型塑胶跑道-广东绿晨体育设施有限公司 | 呼末二氧化碳|ETCO2模块采样管_气体干燥管_气体过滤器-湖南纳雄医疗器械有限公司 | 山楂片_雪花_迷你山楂片_山楂条饼厂家-青州市丰源食品厂 | 福州时代广告制作装饰有限公司-福州广告公司广告牌制作,福州展厅文化墙广告设计, | 武汉高低温试验机-现货恒温恒湿试验箱-高低温湿热交变箱价格-湖北高天试验设备 | 华禹护栏|锌钢护栏_阳台护栏_护栏厂家-华禹专注阳台护栏、楼梯栏杆、百叶窗、空调架、基坑护栏、道路护栏等锌钢护栏产品的生产销售。 | 山东柳店新能源科技有限公司 | YJLV22铝芯铠装电缆-MYPTJ矿用高压橡套电缆-天津市电缆总厂 | 哈希PC1R1A,哈希CA9300,哈希SC4500-上海鑫嵩实业有限公司 | 五轴加工中心_数控加工中心_铝型材加工中心-罗威斯 | TTCMS自助建站_网站建设_自助建站_免费网站_免费建站_天天向上旗下品牌 | 武汉森源蓝天环境科技工程有限公司-为环境污染治理提供协同解决方案 | 电动高尔夫球车|电动观光车|电动巡逻车|电动越野车厂家-绿友机械集团股份有限公司 | 冷库安装厂家_杭州冷库_保鲜库建设-浙江克冷制冷设备有限公司 | 净化车间_洁净厂房_净化公司_净化厂房_无尘室工程_洁净工程装修|改造|施工-深圳净化公司 | 保定市泰宏机械制造厂-河北铸件厂-铸造厂-铸件加工-河北大件加工 | 对夹式止回阀_对夹式蝶形止回阀_对夹式软密封止回阀_超薄型止回阀_不锈钢底阀-温州上炬阀门科技有限公司 | 电梯乘运质量测试仪_电梯安全评估测试仪-武汉懿之刻 |