python tkinter 基于excel表格答案 完成答题程序 代码
时间: 2024-04-24 07:24:21 浏览: 147
基于python tkinter 考试答题程序代码
3星 · 编辑精心推荐
要基于Excel表格中的答案完成一个答题程序,您可以使用`openpyxl`库来读取Excel文件中的答案,并结合Tkinter创建一个交互式的答题界面。以下是一个简单的示例代码:
```python
import tkinter as tk
from openpyxl import load_workbook
def load_answers(file_path):
# 从Excel文件中加载答案
workbook = load_workbook(file_path)
sheet = workbook.active
answers = {}
for row in sheet.iter_rows(min_row=2, values_only=True):
question = row[0]
answer = row[1]
answers[question] = answer
return answers
def check_answer():
# 检查答案是否正确
question = question_label.cget("text")
user_answer = answer_entry.get()
if question in answers:
correct_answer = answers[question]
if user_answer == correct_answer:
result_label.config(text="回答正确", fg="green")
else:
result_label.config(text="回答错误", fg="red")
else:
result_label.config(text="题目不存在", fg="red")
def next_question():
# 显示下一题
current_index = questions.index(question_label.cget("text"))
if current_index + 1 < len(questions):
next_index = current_index + 1
question_label.config(text=questions[next_index])
answer_entry.delete(0, tk.END)
result_label.config(text="")
# 加载答案
answers = load_answers("answers.xlsx")
# 创建主窗口
window = tk.Tk()
# 创建问题标签、答案输入框、结果标签和按钮
question_label = tk.Label(window, text="问题1")
question_label.pack()
answer_entry = tk.Entry(window)
answer_entry.pack()
result_label = tk.Label(window)
result_label.pack()
check_button = tk.Button(window, text="检查答案", command=check_answer)
check_button.pack()
next_button = tk.Button(window, text="下一题", command=next_question)
next_button.pack()
# 问题列表
questions = list(answers.keys())
# 运行主循环
window.mainloop()
```
在上述代码中,我们首先定义了两个辅助函数:`load_answers()`用于从Excel文件中加载答案,`check_answer()`用于检查用户输入的答案是否正确。然后,我们创建了一个Tkinter窗口,并添加了一个问题标签、一个答案输入框、一个结果标签和两个按钮。点击"检查答案"按钮时会调用`check_answer()`函数进行答案检查,并根据结果更新结果标签的显示。点击"下一题"按钮时会显示下一道题目。
请注意,上述代码中假设Excel文件的第一个列是问题,第二列是答案。您可以根据实际情况进行调整。
希望这可以帮助到您!如果您有任何其他问题,请随时提问。
阅读全文