#! python3
# randomQuizGenerator.py - Creates quizzes with questions and answers in
# random order, along with the answer key.
import random
# The quiz data. Keys are states and values are their capitals.
capitals = {'Alabama': 'Montgomery', 'Alaska': 'Juneau', 'Arizona': 'Phoenix',
'Arkansas': 'Little Rock', 'California': 'Sacramento', 'Colorado': 'Denver',
'Connecticut': 'Hartford', 'Delaware': 'Dover', 'Florida': 'Tallahassee',
'Georgia': 'Atlanta', 'Hawaii': 'Honolulu', 'Idaho': 'Boise', 'Illinois':
'Springfield', 'Indiana': 'Indianapolis', 'Iowa': 'Des Moines', 'Kansas':
'Topeka', 'Kentucky': 'Frankfort', 'Louisiana': 'Baton Rouge', 'Maine':
'Augusta', 'Maryland': 'Annapolis', 'Massachusetts': 'Boston', 'Michigan':
'Lansing', 'Minnesota': 'Saint Paul', 'Mississippi': 'Jackson', 'Missouri':
'Jefferson City', 'Montana': 'Helena', 'Nebraska': 'Lincoln', 'Nevada':
'Carson City', 'New Hampshire': 'Concord', 'New Jersey': 'Trenton',
'NewMexico': 'Santa Fe', 'New York': 'Albany',
'North Carolina': 'Raleigh', 'North Dakota': 'Bismarck',
'Ohio': 'Columbus', 'Oklahoma': 'Oklahoma City',
'Oregon': 'Salem', 'Pennsylvania': 'Harrisburg', 'Rhode Island': 'Providence',
'South Carolina': 'Columbia', 'South Dakota': 'Pierre', 'Tennessee':
'Nashville', 'Texas': 'Austin', 'Utah': 'Salt Lake City', 'Vermont':
'Montpelier', 'Virginia': 'Richmond', 'Washington': 'Olympia',
'WestVirginia': 'Charleston', 'Wisconsin': 'Madison', 'Wyoming': 'Cheyenne'}
# Generate 35 quiz files.
for quizNum in range(35):
# Create the quiz and answer key files.
quizFile = open(f'capitalsquiz{quizNum + 1}.txt', 'w')
answerKeyFile = open(f'capitalsquiz_answers{quizNum + 1}.txt', 'w')
# Write out the header for the quiz.
quizFile.write('Name:\n\nDate:\n\nPeriod:\n\n')
quizFile.write((' ' * 20) + f'State Capitals Quiz (Form{quizNum + 1})')
quizFile.write('\n\n')
# Shuffle the order of the states.
states = list(capitals.keys())
random.shuffle(states)
# Loop through all 50 states, making a question for each.
for questionNum in range(50):
# Get right and wrong answers.
correctAnswer = capitals[states[questionNum]]
wrongAnswers = list(capitals.values())
del wrongAnswers[wrongAnswers.index(correctAnswer)]
wrongAnswers = random.sample(wrongAnswers, 3)
answerOptions = wrongAnswers + [correctAnswer]
random.shuffle(answerOptions)
# Write the question and the answer options to the quiz file.
quizFile.write(f'{questionNum + 1}. What is the capital of{states[questionNum]}?\n')
for i in range(4):
quizFile.write(f" {'ABCD'[i]}. { answerOptions[i]}\n")
quizFile.write('\n')
# Write the answer key to a file.
answerKeyFile.write(f"{questionNum + 1}.{'ABCD'[answerOptions.index(correctAnswer)]}")
quizFile.close()
answerKeyFile.close()
以下是该程序的功能:
>
创建35个不同的测验
为每个测验创建50个选择题,以随机顺序为每个问题提供正确答案和三个随机错误答案
将测验写入35个文本文件
将答案键写入35个文本文件
这意味着代码需要执行以下操作:
回溯(最近一次调用):文件“/home/hp/Documents/Developement/pob/ch9/randomQuizGenarotor.py”,第50行,在quizFile中。write(f'{questionNum 1}.{states[questionNum]}的大写字母是什么?\n')value错误:对关闭的文件执行I/O操作。
quizFile.close()
answerKeyFile.close()
看起来close()
函数位于for循环中,因此在第一次迭代后,它将关闭文件。将close()
问题内容: 这里,是一本字典,并且都是字符串。 当我尝试写入文件时,它报告错误: 问题答案: 正确缩进;您的陈述应在区块内: 在块外部,文件已关闭。
当我运行我的代码时,我收到以下错误。 我正在运行的代码,如下所示: 它说错误在第41行,给出为 沟通电话有什么问题吗?
我需要帮助,请我从2天前开始尝试解决此问题,但没有成功,我是python新手,请更改代码并解释: 这是它的代码和通过scapy的arp扫描程序。它从scapy扫描中获取结果,并将扫描结果(ip和macaddress)保存到linux机器中的txt文件中 然后运行一个外部python脚本,通过以下命令:os.system("pythondetect_doublepulsar_smb.py--file
我从Theano和Keras开始深入学习。但是,对于任何程序,我都必须加载数据集,而我无法加载任何数据集。 即使我运行这两行:- 我甚至用minst数据集尝试了上述方法。完全相同的错误。 我试着一个接一个地运行命令,第一次导入很顺利。在第二个命令中,它运行,python开始下载。然而,几秒钟后,它就断了。 这就是确切的错误:- (X_列,y_列),(X_测试,y_测试)=cifar10。load_
有人能解释一下我的代码有什么问题吗?我得到以下错误: 回溯(最后一次调用): 文件“C:\LineRep.py”,模块中的第15行: 对于文件2中的行: 值错误:对关闭的文件执行I/O操作 我的代码:
代码从卡中刮取单个事件,但我一直收到以下错误: C:\Python27\python.exeC:/用户/詹姆斯/PycharmProjects/剪贴画/scrapy.py回溯(最近的调用最后):文件"C:/用户/詹姆斯/PycharmProjects/剪贴画/scrapy.py",第31行,在writer.writerow(c)值错误: I/O关闭文件的操作 我正在使用pyCharm。 退出代码为