国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

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

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

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

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

1、設計思路

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

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

2、建立題庫

使用SQLite數據庫建立題庫,本質上就是SQL語句,創建exam表,實現代碼如下所示:

#導入SQLite驅動import sqlite3 # 連接到SQLite數據庫,數據庫文件是test.db# 如果文件不存在,會自動在當前目錄創建:conn = sqlite3.connect(’test2.db’)cursor = conn.cursor()# 創建一個Cursor:#cursor.execute('delete from exam')# 執行一條SQL語句,創建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)’)# 繼續執行一條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 (’夜郎自大中“夜郎”指的是現在哪個地方?’, ’貴州’, ’云南’, ’廣西’, ’福建’, ’A’)')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 (’京劇中花旦是指’, ’年輕男子’, ’年輕女子’, ’年長男子’, ’年長女子’, ’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獲得插入的行數:print(cursor.rowcount) #1# 關閉Cursor:cursor.close()# 提交事務:conn.commit()# 關閉Connection:conn.close()

3、答題設計

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

conn = sqlite3.connect(’test2.db’)cursor = conn.cursor()# 執行查詢語句:cursor.execute(’select * from exam’)# 獲得查詢結果集:values = cursor.fetchall()print(values) print(’記錄數:’,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設計

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

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

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

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 在线亚洲一区二区 | 日本一级毛片高清免费观看视频 | 欧美性色xo影院在线观看 | 亚洲香蕉久久一区二区三区四区 | a级毛片免费在线观看 | 国产欧美自拍视频 | 国产欧美日韩一区 | 亚洲最大激情中文字幕 | 99久久99热精品免费观看国产 | 日韩欧美二区 | 免费看三级毛片 | 国产精品高清久久久久久久 | 免费播放特黄特色毛片 | 深夜国产 | 国产真实乱子伦精品视手机观看 | 久草视频福利在线观看 | 亚州精品视频 | 一区二区三区免费视频观看 | 99热成人精品热久久66 | 99在线热视频 | 日本韩国一级毛片中文字幕 | 日本卡一卡2卡3卡4精品卡无人区 | 一区二区三区高清视频在线观看 | 日本综合欧美一区二区三区 | 国内精品久久久久久久aa护士 | 成a人片亚洲日本久久 | 看一级特黄a大片国产 | 亚州欧美 | 国产女主播在线 | 国产三级日本三级日产三 | 韩日一级 | 中文字幕福利视频 | 一级毛片美国aaj毛片 | 久久亚洲精品中文字幕三区 | 国产成人久久综合热 | 欧美另类久久久精品 | 欧美另类亚洲一区二区 | 中文一区| 免费一级做a爰片久久毛片 免费一级做a爰片性色毛片 | 欧美精品一区视频 | 成人区视频爽爽爽爽爽 |