根據專案 生成隨機的測驗試卷檔案 的**,稍作改動後,有了以下的**:
# 隨機測試生成器.py - 生成問題及答案
# 隨機生成問題並生成相應答案
import random
# 鍵為省份,值為省會。
capitals =
# 生成20份試卷。
for quiznum in range(20):
# 新建試卷及答案的txt文件。
quizfile = open(
'省會測試題%s.txt' %(quiznum + 1),'w'
) answerkeyfile = open(
'省會測試_答案%s.txt' % (quiznum + 1), 'w'
)# 給試卷寫出表頭。
quizfile.write(
'姓名:\n\n日期:\n\n學期:\n\n'
) quizfile.write((
' ' * 20) + '省及對應省會測試 (卷 %s)' % (quiznum + 1))
quizfile.write(
'\n\n'
)# 打亂省會順序。
states = list(capitals.keys(
)) random.shuffle(states)
# 遍歷每乙個省會,並生成問題。
for questionnum in range(34):
# 得到四個答案,三錯一對。
correctanswer = capitals[states[questionnum]
] wrongansewers = list(capitals.values(
)) del wrongansewers[wrongansewers.index(correctanswer)
] wrongansewers = random.sample(wrongansewers, 3)
answeroptions = wrongansewers + [correctanswer]
random.shuffle(answeroptions)
# 將問題和答案選項寫進試卷的txt文件。
quizfile.write(
'%s. %s的省會是?\n' %(questionnum + 1,
states[questionnum]
))for i in range(4):
quizfile.write(
' %s. %s\n' % (
'abcd'
[i], answeroptions[i]
)) quizfile.write(
'\n'
)# 將答案寫進答案的txt文件。
answerkeyfile.write(
'%s.%s\n' %(questionnum + 1, 'abcd'
[ answeroptions.index(correctanswer)]))
quizfile.close(
) answerkeyfile.close(
)
執行結果:
8 5 專案 生成隨機的測驗試卷檔案
假如你是一位地理老師,班上有 35 名學生,你希望進行美國各州首府的乙個小測驗。不妙的是,班裡有幾個壞蛋,你無法確信學生不會作弊。你希望隨機調整問題的次序,這樣每份試卷都是獨一無二的,這讓任何人都不能從其他人那裡抄襲答案。當然,手工完成這件事又費時又無聊。好在,你懂一些 python。下面是程式所做...
專案1 生成隨機的測試試卷檔案
import random 建立乙個字典,包含中國省份及省會 capitals 寫35個問題檔案 for quizenum in range 35 寫問題和答案的檔案 quizfile open quizfile s.txt quizenum 1 w answerfile open answerfi...
random隨機函式方法和生成時間檔案的方法
random隨機函式 import random randn str random.randint 0,100000 us cdtest randn 寫不重名的使用者名稱 use randn 163.com 不重名的郵箱之類的 當前時間作為檔名,還會出現重複的問題嗎?report 202009141...