生活随笔
收集整理的這篇文章主要介紹了
用python自制一个简单的答题程序
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
只需random和pandas模塊,就可以自制一個簡單的答題程序;可以選擇讀取mysql數據庫或者excel,只要轉換成DataFrame就行,讀取csv用pd.read_csv;讀取xlsx用pd.read_excel;讀取數據庫用pd.read_sql。表頭如下:
表頭只要一樣,運行起來就沒問題
import pymysql
,random
import pandas
as pd
from pandas
.core
.frame
import DataFrame
df
= pd
.read_excel
(r
'D:\python腳本\題目重新處理-C.xlsx',sheet_name
="Sheet1", encoding
='gbk' ) Questions
= df
.values
.tolist
() class Learning():def __init__(self
):self
.all_test
= 0 self
.all_list
= [] self
.corrects
= 0 self
.errors
= 0 self
.Questions
= Questionsself
.choose_input
= int(input('歡迎進入答題程序,請選擇每次要答題的數量:'))def choose_num(self
):num
= range(0, 512) nums
= random
.sample
(num
, self
.choose_input
) n
= 0for a
in nums
:print("題目:{}".format(self
.Questions
[a
][1]))for i
in self
.Questions
[a
][3:7]:print(i
)stu_Amount
= input('請輸入你的答案:')if stu_Amount
== self
.Questions
[a
][2]:print('恭喜你答對了!')self
.corrects
+= 1else:print('哦豁,你答錯了,正確答案是:{}'.format(Questions
[a
][2]))self
.errors
+= 1self
.all_test
+= 1self
.all_list
.append
(a
)n
+=1if n
< self
.choose_input
:choose
= input('是否繼續答題?,按Q退出答題,按回車鍵繼續:')if choose
== 'Q':print('做題的序號為{}'.format(self
.all_list
))print('你提前結束答題,此次共做{}道題,答對{}題,答錯{}題,再接再厲!'.format(self
.all_test
, self
.corrects
, self
.errors
))breakelse:print('答題結束,此次共做{}道題,答對{}題,答錯{}題,再接再厲!'.format(self
.all_test
, self
.corrects
, self
.errors
))breakdef Show(self
):while True:while True:a
= random
.randint
(0, 512)if a
not in self
.all_list
:print('題目重復了,重新來')breakelse:continueprint("題目:{}".format(self
.Questions
[a
][1]))for i
in self
.Questions
[a
][3:7]:print(i
)stu_Amount
= input('請輸入你的答案:')if stu_Amount
== self
.Questions
[a
][2]:print('恭喜你答對了!')self
.corrects
+= 1else:print('很遺憾,你答錯了,正確答案是:{}'.format(Questions
[a
][2]))self
.errors
+= 1self
.all_test
+= 1self
.all_list
.append
(a
)choose
= input('是否繼續答題?,按Q退出答題,按回車鍵繼續:')if choose
== 'Q':print('做題的序號為{}'.format(self
.all_list
))print('此次共做{}道題,答對{}題,答錯{}題,再接再厲!'.format(self
.all_test
,self
.corrects
,self
.errors
))breakelse:continuedef judge(self
):if self
.choose_input
== 1:print('你進入了單題答題模式,可隨時退出!')self
.Show
()else:print('你進入了多題答題模式,可隨時退出!')self
.choose_num
()Learning
= Learning
()
Learning
.judge
()
總結
以上是生活随笔為你收集整理的用python自制一个简单的答题程序的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。