8 5 專案 生成隨機的測驗試卷檔案

2021-08-21 20:26:23 字數 1934 閱讀 3694

假如你是一位地理老師,班上有 35 名學生,你希望進行美國各州首府的乙個小測驗。不妙的是,班裡有幾個壞蛋,你無法確信學生不會作弊。你希望隨機調整問題的次序,這樣每份試卷都是獨一無二的,這讓任何人都不能從其他人那裡抄襲答案。當然,手工完成這件事又費時又無聊。好在,你懂一些 python。

下面是程式所做的事:

• 建立 35 份不同的測驗試卷。

• 為每份試卷建立 9 個多重選擇題,次序隨機。

• 為每個問題提供乙個正確答案和 3 個隨機的錯誤答案,次序隨機。

• 將測驗試卷寫到 35 個文字檔案中。

• 將答案寫到 35 個文字檔案中。

這意味著**需要做下面的事:

• 將州和它們的首府儲存在乙個字典中。

• 針對測驗文字檔案和答案文字檔案,呼叫 open()、write()和 close()。

• 利用 random.shuffle()隨機調整問題和多重選項的次序。

#! python3

import random

# 將美國各州首府資料儲存在乙個字典中

capitals =

for quiznum in range(35):

# 建立試卷和答案檔案

quizfile = open('capitalsquiz%s.txt' % (quiznum + 1),'w')

answerkeyfile = open('capitalsquiz_answers%s.txt' % (quiznum + 1),'w')

# 寫標題和開頭

quizfile.write('name:\n\ndate:\n\nperiod:\n\n')

quizfile.write((' ' * 20) + 'state capitals quiz (form %s)' % (quiznum + 1))

quizfile.write('\n\n')

# 打亂capital字典

states = list(capitals.keys())

random.shuffle(states)

# 迴圈states,製造9個問題

for questionnum in range(9):

correctanswer = capitals[states[questionnum]]

wronganswers = list(capitals.values())

del wronganswers[wronganswers.index(correctanswer)] # 刪除列表中的正確答案

# random.sample()函式使得這種選擇很容易,它的第乙個引數是你希望選擇的列表,第二個引數是你希望選擇的值的個數。

模仿專案 生成隨機的測驗試卷檔案

根據專案 生成隨機的測驗試卷檔案 的 稍作改動後,有了以下的 隨機測試生成器.py 生成問題及答案 隨機生成問題並生成相應答案 import random 鍵為省份,值為省會。capitals 生成20份試卷。for quiznum in range 20 新建試卷及答案的txt文件。quizfil...

專案1 生成隨機的測試試卷檔案

import random 建立乙個字典,包含中國省份及省會 capitals 寫35個問題檔案 for quizenum in range 35 寫問題和答案的檔案 quizfile open quizfile s.txt quizenum 1 w answerfile open answerfi...

pycharm初始設定07 專案和檔名的命令規則

1 命名規則 1.命名檔案時建議只使用小寫字母 下劃線和數字 2.檔名不能以數字開始,第乙個字元必須是字母表中字母或下劃線 3.檔名對大小寫敏感。通過歡迎介面或者選單file new project可以新建專案 注意 python保留字 保留字即關鍵字,我們不能把它們用作任何識別符號名稱。pytho...