[Python] 纯文本查看 复制代码 import tkinter as tk
from tkinter import messagebox
# 问题和答案列表
questions = [
{
"question": "中华人民共和国国旗的名称是什么?",
"options": ["五星红旗", "青天白日旗", "八一军旗", "党旗"],
"answer": "五星红旗"
},
{
"question": "中华人民共和国国旗上大五角星代表什么?",
"options": ["中国共产党", "工人阶级", "农民阶级", "城市小资产阶级"],
"answer": "中国共产党"
},
{
"question": "中华人民共和国国旗旗面的红色象征什么?",
"options": ["革命", "热情", "鲜血", "太阳"],
"answer": "革命"
}
]
# 初始化得分
score = 0
question_index = 0
def check_answer():
global score, question_index
selected_option = var.get()
if selected_option == questions[question_index]["answer"]:
score += 1
messagebox.showinfo("结果", "回答正确!")
else:
messagebox.showinfo("结果", f"回答错误,正确答案是:{questions[question_index]['answer']}")
question_index += 1
if question_index < len(questions):
show_question()
else:
show_result()
def show_question():
question_label.config(text=questions[question_index]["question"])
for i, option in enumerate(questions[question_index]["options"]):
option_buttons[i].config(text=option, value=option)
var.set(None)
def show_result():
messagebox.showinfo("游戏结束", f"游戏结束,你的得分是:{score}/{len(questions)}")
root.destroy()
# 创建主窗口
root = tk.Tk()
root.title("国旗知识问答游戏--向浩辰")
# 创建问题标签
question_label = tk.Label(root, text="", font=("Arial", 14))
question_label.pack(pady=20)
# 创建选项变量
var = tk.StringVar()
var.set(None)
# 创建选项按钮
option_buttons = []
for i in range(4):
button = tk.Radiobutton(root, text="", variable=var, font=("Arial", 12))
button.pack(pady=5)
option_buttons.append(button)
# 创建提交按钮
submit_button = tk.Button(root, text="提交答案", command=check_answer, font=("Arial", 12))
submit_button.pack(pady=20)
# 显示第一个问题
show_question()
# 运行主循环
root.mainloop() |