找回密码
 中文实名注册
查看: 78|回复: 0

丁彦辰--爱国主义小游戏

[复制链接]

2

主题

2

帖子

150

积分

注册会员

Rank: 2

积分
150
发表于 2025-2-9 16:36:12 | 显示全部楼层 |阅读模式
[Python] 纯文本查看 复制代码
import tkinter as tk
from tkinter import messagebox

# 问题和答案列表
questions = [
    {
        "question": "中华人民共和国国旗的名称是什么?",
        "options": ["五星红旗", "青天白日旗", "九星旗", "八卦旗"],
        "answer": "五星红旗"
    },
    {
        "question": "中华人民共和国国旗旗面的红色象征着什么?",
        "options": ["光明", "革命", "和平", "希望"],
        "answer": "革命"
    },
    {
        "question": "中华人民共和国国旗上最大的五角星代表什么?",
        "options": ["工人阶级", "农民阶级", "中国共产党", "城市小资产阶级"],
        "answer": "中国共产党"
    },
    {
        "question": "中华人民共和国国旗上四颗小五角星各有一尖正对着大星的中心点,这表示什么?",
        "options": ["围绕一个中心而团结", "表示四季", "表示四方", "表示四种社会阶层"],
        "answer": "围绕一个中心而团结"
    },
    {
        "question": "中华人民共和国国旗设计者是谁?",
        "options": ["梁思成", "曾联松", "林徽因", "徐悲鸿"],
        "answer": "曾联松"
    },
    {
        "question": "中华人民共和国国旗第一次升起是在什么时间?",
        "options": ["1949年10月1日", "1949年9月30日", "1950年1月1日", "1948年12月31日"],
        "answer": "1949年10月1日"
    },
    {
        "question": "中华人民共和国国旗的长宽比例是多少?",
        "options": ["3:2", "4:3", "5:4", "2:1"],
        "answer": "3:2"
    },
    {
        "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 questions[question_index]["options"][selected_option] == questions[question_index]["answer"]:
        score += 1
        messagebox.showinfo("正确", "回答正确!继续加油!")
    else:
        messagebox.showerror(
            "错误", 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 in range(4):
        option_buttons.config(text=questions[question_index]["options"])
    var.set(-1)


def show_result():
    messagebox.showinfo("游戏结束", f"游戏结束,你的得分是:{score}/{len(questions)}")
    root.destroy()


# 创建主窗口
root = tk.Tk()
root.title("爱国主义知识问答游戏--丁彦辰")

# 显示问题的标签
question_label = tk.Label(root, text="", wraplength=300)
question_label.pack(pady=20)

# 单选按钮变量
var = tk.IntVar()
var.set(-1)

# 选项按钮
option_buttons = []
for i in range(4):
    button = tk.Radiobutton(root, text="", variable=var, value=i)
    button.pack(pady=5)
    option_buttons.append(button)

# 提交答案按钮
submit_button = tk.Button(root, text="提交答案", command=check_answer)
submit_button.pack(pady=20)

# 显示第一个问题
show_question()

# 运行主循环
root.mainloop()
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 中文实名注册

本版积分规则

小黑屋|东台市机器人学会 ( 苏ICP备2021035350号-1;苏ICP备2021035350号-2;苏ICP备2021035350号-3 )

GMT+8, 2025-3-12 12:25 , Processed in 0.039840 second(s), 28 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表