想要一个小程序代码,可以设置题型和内容,自动批改及计算分数
时间: 2024-05-08 07:15:57 浏览: 175
以下是一个简单的小程序代码,可以设置选择题和填空题两种题型,自动批改并计算分数。
```
# -*- coding: utf-8 -*-
# 题库,包括题目内容和正确答案
questions = [
{'type': 'choice', 'content': '1 + 1 = ?', 'options': ['2', '3', '4', '5'], 'answer': '2'},
{'type': 'choice', 'content': '2 * 3 = ?', 'options': ['4', '6', '8', '10'], 'answer': '6'},
{'type': 'blank', 'content': '3 + 5 = ?', 'answer': '8'},
{'type': 'blank', 'content': '10 - 6 = ?', 'answer': '4'}
]
# 计算总分
def calculate_score(answers):
score = 0
for i in range(len(questions)):
if questions[i]['type'] == 'choice': # 选择题
if answers[i] == questions[i]['answer']:
score += 1
elif questions[i]['type'] == 'blank': # 填空题
if answers[i] == questions[i]['answer']:
score += 2
return score
# 输出题目
def print_question(index):
question = questions[index]
print('第%d题:%s' % (index + 1, question['content']))
if question['type'] == 'choice': # 选择题
for i in range(len(question['options'])):
print('%d.%s' % (i + 1, question['options'][i]))
elif question['type'] == 'blank': # 填空题
pass
# 主程序
if __name__ == '__main__':
answers = [] # 存储答案
for i in range(len(questions)):
print_question(i)
answer = input('请输入答案:')
answers.append(answer)
score = calculate_score(answers)
print('总分:%d' % score)
```
使用时,只需要修改题库中的题目即可。其中,每个题目包括以下信息:
- `type`:题目类型,包括选择题和填空题两种;
- `content`:题目内容;
- `options`:选择题选项,仅选择题有用;
- `answer`:正确答案。
在程序运行时,会依次输出每道题目,并要求输入答案。答案输入完毕后,程序会自动计算总分并输出。其中,选择题答对得1分,填空题答对得2分。
阅读全文