考试小程序。输入用户名和密码,密码显示为*,点击退出按钮则关闭窗体,点击登录按钮进行用户名密码验证,如果用户名不对,在登录按钮下方显示红色文字“用户名不存在,请重新输入!”,密码不对则显示“密码错误,请重新输入!”,如验证成功则打开新窗体“考试界面”。(正确的用户名是admin,密码是123456 考试界面从题库中随机抽取一题 题库: 题目:1+1等于?,选项:1,2,3,4 题目:3>2是?,选项:正确的,错误的 题目:2*3等于?,选项:2,4,6,8 点击提交按钮弹出确定提交对话框,如果点击确定,则弹出考试结果对话框(需要判断选项是否正确),如果再点击确定则关闭所有窗体。)
时间: 2023-06-24 14:04:40 浏览: 81
Kuai-Shua-Questions:一种功能强大的答题考试小程序,分为四大功能,答题,学习,排名和错题本,答题功能可以随机从选择的题库中抽取译文作答,学习功能可以浏览全部的翻译,并具有记忆功能,下次进入会自动回到学习进度,排名功能可以对每套试卷的作答人员进行分数等排名,错题本会自动记录用户在答题中答错的译文,让用户可以复习,并且可以随时可撤除译文,还有收藏功能可以让用户收藏译文,并且可以设置密码,只有用户输对了密码才可以进入,防止译文外泄。整个小程序非常适合单位,公司和学校进行人员考核,测评等一系列以
以下是一个简单的实现,使用了Python的tkinter库来创建GUI界面:
```python
import tkinter as tk
import random
class ExamApp:
def __init__(self, master):
self.master = master
master.title("考试小程序")
# 创建用户名和密码输入框
self.username_label = tk.Label(master, text="用户名")
self.username_label.grid(row=0, column=0)
self.username_entry = tk.Entry(master)
self.username_entry.grid(row=0, column=1)
self.password_label = tk.Label(master, text="密码")
self.password_label.grid(row=1, column=0)
self.password_entry = tk.Entry(master, show="*")
self.password_entry.grid(row=1, column=1)
# 创建登录和退出按钮
self.login_button = tk.Button(master, text="登录", command=self.login)
self.login_button.grid(row=2, column=0)
self.quit_button = tk.Button(master, text="退出", command=master.quit)
self.quit_button.grid(row=2, column=1)
# 创建错误提示标签
self.error_label = tk.Label(master, fg="red")
self.error_label.grid(row=3, columnspan=2)
def login(self):
# 验证用户名和密码
username = self.username_entry.get()
password = self.password_entry.get()
if username == "admin" and password == "123456":
self.show_exam_window()
elif username != "admin":
self.error_label.config(text="用户名不存在,请重新输入!")
else:
self.error_label.config(text="密码错误,请重新输入!")
def show_exam_window(self):
# 创建考试界面窗口
exam_window = tk.Toplevel(self.master)
exam_window.title("考试界面")
# 从题库中随机抽取一道题目
question, options, answer = random.choice([
("1+1等于?", ["1", "2", "3", "4"], "2"),
("3>2是?", ["正确的", "错误的"], "正确的"),
("2*3等于?", ["2", "4", "6", "8"], "6")
])
# 创建问题和选项标签
question_label = tk.Label(exam_window, text=question)
question_label.pack()
option_vars = []
for option in options:
var = tk.StringVar(value=option)
option_vars.append(var)
option_radio = tk.Radiobutton(exam_window, text=option, variable=var, value=option)
option_radio.pack()
# 创建提交按钮
submit_button = tk.Button(exam_window, text="提交", command=lambda: self.submit_exam(exam_window, option_vars, answer))
submit_button.pack()
def submit_exam(self, exam_window, option_vars, answer):
# 验证答案并显示结果
selected_option = None
for var in option_vars:
if var.get() == answer:
selected_option = var
break
if selected_option is None:
result_text = "未作答"
elif selected_option.get() == answer:
result_text = "答案正确"
else:
result_text = "答案错误"
# 创建结果对话框
result_window = tk.Toplevel(self.master)
result_window.title("考试结果")
result_label = tk.Label(result_window, text=result_text)
result_label.pack()
ok_button = tk.Button(result_window, text="确定", command=lambda: self.close_windows(exam_window, result_window))
ok_button.pack()
def close_windows(self, *windows):
# 关闭所有窗口
for window in windows:
window.destroy()
if __name__ == "__main__":
root = tk.Tk()
app = ExamApp(root)
root.mainloop()
```
在这个程序中,我们首先创建了一个主窗口,其中包含了用户名和密码的输入框、登录和退出按钮以及错误提示标签。当用户点击登录按钮时,我们会验证用户名和密码,如果验证成功,则会打开一个新的考试界面窗口。在考试界面中,我们从题库中随机抽取一道题目,并创建问题和选项标签以及提交按钮。当用户点击提交按钮时,我们会验证答案并创建一个结果对话框,其中包含了考试结果以及一个确定按钮。当用户点击确定按钮时,所有窗口都会被关闭。
需要注意的是,这个程序中的题库只包含了三道题目,实际使用时需要根据需要进行扩展。另外,这个程序只是一个简单的示例,实际使用时需要根据具体需求进行修改和优化。
阅读全文