当前位置: 首页 > news >正文

Python选择题训练工具:高效学习、答题回顾与音频朗读一站式体验

一、引言

随着人工智能技术的不断进步,传统的教学方式已经逐渐向智能化、互动化转变。在众多英语测试题型中,选择题作为一种高效的方式被广泛应用于各类培训与考试中。为了帮助学生高效学习与自测,本篇文章将采用Python编写一款基于 Python 开发的选择题训练工具。该工具不仅支持加载 Excel 文件中的题库,还具备题干和选项展示、答题记录、音频朗读等多种功能,旨在为用户提供便捷、高效的学习体验。

二、开发背景

在日常教学过程中,老师往往需要准备大量的选择题作为测试题目。我们可以把这些题目存储在 Excel 文件中,如果手动处理和展示题目会非常繁琐。为了提高教学效率,选用一种自动化展示工具成为一种迫切的需求。本项目通过 Python 和 Tkinter 库实现了一个图形化界面应用,可以自动加载并展示选择题,记录用户答题情况,同时通过音频朗读题目,进一步增强互动性。软件的示意图如下:

软件展示

三、软件特点

  1. 题库加载与展示:支持从 Excel 文件中加载选择题,并且可以根据课程单元名称筛选题目。
  2. 音频朗读功能:使用 Python 的 Pygame 库播放题目音频,即朗读题干,帮助用户通过听力巩固已学单词。
  3. 答题记录与统计:软件会自动记录用户的答题情况,并在决定答题结束时,提供正确率和错误题目的回顾功能。
  4. 多线程支持:使用线程处理音频播放等耗时操作,避免界面卡顿,提升用户体验。同时,当完成一道题时,会自动转到下一道,并给出正确或错误的提示。正确就是显示绿色button选项,错误就显示红色button选项。
  5. 图形化界面:基于 Tkinter 实现的 GUI 界面,简单直观,易于操作。

四、使用方法

1. 安装依赖

在运行程序之前,需要安装一些 Python 库,依赖包括 openpyxl, pygame 和 requests。可以使用以下命令安装所需的库:

pip install openpyxl pygame requests 

2. 准备题库

本程序需要一个 Excel 文件,并命名为【选择题.xlsx】作为题库,Excel 文件应包括如下列:

  • 单元:课程名称或章节
  • 序号:题目的编号
  • 题干:选择题的内容
  • 选项A、B、C、D:四个选择项
  • 正确答案:正确的答案选项

Excel表的内容如下:

Excel表内容

3. 运行程序

运行 Python 程序,tkinter GUI界面会自动加载,用户可以在顶部下拉框选择不同的课程,然后开始答题,结束前查看战绩,回顾错误题目,还可以点朗读通过音频功能听题干。

4. 功能概览

  • 选择题显示:在每道题目显示时,用户可以选择答案。程序会自动判断正确与否,并高亮显示选择的答案。
  • 战绩统计:用户答题完成后,可以查看自己的正确率统计。
  • 错误回顾:用户可以查看答错的题目,并且看到正确答案与自己的选择。
  • 朗读功能:用户可以点击按钮让程序朗读题干。

五、源码展示

以下是该程序的主要代码:

import tkinter as tk
from tkinter import ttk, messagebox
from openpyxl import load_workbook
import random
import os,re
import pygame,requests
from io import BytesIO
from threading import Lock, Thread, Timerdef load_excel_data(filename):workbook = load_workbook(filename)sheet = workbook.activequestions = []lessons = set()  # 用于存储所有课程名,避免重复for row in sheet.iter_rows(min_row=2, values_only=True):lesson = row[0]lessons.add(lesson)question = {'单元': lesson,'序号': row[1],'题干': row[2],'选项': [row[3], row[4], row[5], row[6]],'正确答案': row[7]}questions.append(question)return list(lessons), questionslessons, questions = load_excel_data('选择题.xlsx')
random.shuffle(questions)# 使用正则表达式从课程名中提取数字,并按数字排序课程名
sorted_lessons = sorted(lessons, key=lambda x: (lambda m: int(m.group(0)) if m else 0)(re.search(r'\d+', x)))class QuizApp:def __init__(self, root):self.root = root# 设置窗口大小self.root.geometry("600x500")#self.root.resizable(False, False)pygame.init()self.all_questions = questionsself.questions = questions  # 当前显示的问题列表self.current_question_index = 0self.correct_answers = 0self.wrong_answers = 0self.error_questions = []self.setup_ui()self.load_question()def thread_it(self,func):self.thread1=Thread(target=func)self.thread1.setDaemon(True) self.thread1.start()def setup_ui(self):self.root.title("选择题训练工具")self.lesson_combobox = ttk.Combobox(self.root, values=['全部'] + sorted_lessons, state="readonly")self.lesson_combobox.pack(pady=(10, 0))self.lesson_combobox.set('全部')self.lesson_combobox.bind('<<ComboboxSelected>>', self.on_combobox_change)self.question_label = tk.Label(self.root, text="", font=("Times New Roman", 20), fg="blue", wraplength=520, justify=tk.LEFT) #设置文本长度,并且文本左对齐self.question_label.pack(pady=(10, 40))self.options_frame = tk.Frame(self.root)self.options_frame.pack(pady=20)option_labels = ['A', 'B', 'C', 'D']  # 选项标签self.option_buttons = []  # 存储选项按钮self.option_labels = []  # 存储选项标签控件for i in range(4):# 创建选项标签控件并放置label = tk.Label(self.options_frame, text=f"{option_labels[i]}.", font=("Times New Roman", 16))label.grid(row=i, column=0, pady=5, sticky="e")self.option_labels.append(label)# 创建选项按钮并放置btn = tk.Button(self.options_frame, text="", font=("Times New Roman", 16), width=20,command=lambda b=i: self.check_answer(b),  # type: ignoreanchor="w")btn.grid(row=i, column=1, pady=5)self.option_buttons.append(btn)self.action_frame = tk.Frame(self.root)self.action_frame.pack(side=tk.BOTTOM, pady=20)tk.Button(self.action_frame, text="退出程序", font=("宋体", 16, "bold"), width=9, command=self.ui_quit).pack(side=tk.LEFT, padx=10)tk.Button(self.action_frame, text="我的战绩", font=("宋体", 16, "bold"), width=9, command=self.show_score).pack(side=tk.LEFT, padx=10)tk.Button(self.action_frame, text="查看错误", font=("宋体", 16, "bold"), width=9, command=self.show_errors).pack(side=tk.LEFT, padx=10)tk.Button(self.action_frame, text="朗读题干", font=("宋体", 16, "bold"), width=9, command=self.show_sound).pack(side=tk.LEFT, padx=10)# 其余UI代码与原来相同...def on_combobox_change(self, event):selected_lesson = self.lesson_combobox.get()if selected_lesson == '全部':self.questions = self.all_questionselse:self.questions = [q for q in self.all_questions if q['单元'] == selected_lesson]self.current_question_index = 0self.correct_answers = 0self.wrong_answers = 0self.error_questions = []self.load_question()def load_question(self):if self.current_question_index < len(self.questions):question = self.questions[self.current_question_index]self.question_label.config(text=str(self.current_question_index+1)+". "+question['题干'],anchor='w')correct_answer = question['正确答案']options = question['选项']self.correct_option_index = options.index(correct_answer)random.shuffle(options)for i, option in enumerate(options):self.option_buttons[i].config(text=option, bg='SystemButtonFace')def check_answer(self, button_index):question = self.questions[self.current_question_index]selected_option = self.option_buttons[button_index].cget('text')correct_option = question['正确答案']# 确定正确答案按钮的索引correct_option_index = Nonefor i, btn in enumerate(self.option_buttons):if btn.cget('text') == correct_option:correct_option_index = ibreakif selected_option == correct_option:# 用户选择了正确的答案self.option_buttons[button_index].config(bg='light green')self.correct_answers += 1else:# 用户选择了错误的答案self.option_buttons[button_index].config(bg='red')if correct_option_index is not None:self.option_buttons[correct_option_index].config(bg='light green')self.wrong_answers += 1self.error_questions.append((question['题干'], selected_option, question['正确答案']))# 准备间隔1秒显示下一个问题self.root.after(1000, self.next_question)def next_question(self):self.current_question_index += 1if self.current_question_index < len(self.questions):self.load_question()else:messagebox.showinfo("结束", "所有问题都已回答完毕!")def ui_quit(self):self.root.destroy()def show_score(self):messagebox.showinfo("战绩", f"正确: {self.correct_answers}\n错误: {self.wrong_answers}\n总计: {len(self.questions)}\n正确率:{self.correct_answers/len(self.questions)*100}%")def show_sound(self):self.thread_it(self.show_sound2)def show_errors(self):error_messages = "\n".join([f"题干: {q[0]},正确答案是:{q[2]}, 您的选择: {q[1]}" for q in self.error_questions])messagebox.showinfo("错误回顾", error_messages if error_messages else "完美!没有任何错误。")def show_sound2(self):self.current_name = self.question_label.cget("text")audio_path = f"https://dict.youdao.com/dictvoice?audio={self.current_name}&type=1"resp = requests.get(audio_path)audio_data = BytesIO(resp.content)pygame.mixer.music.load(audio_data)pygame.mixer.music.play()while pygame.mixer.music.get_busy():continue# 退出pygameif __name__ == "__main__":root = tk.Tk()app = QuizApp(root)root.mainloop()

六、注意事项

  1. Excel 文件格式:确保题库文件【选择题.xlsx】的格式正确,每个问题必须包含单元、序号、题干、选项和正确答案等字段。
  2. 音频播放:程序中使用了 Pygame 库进行音频播放,因此需要安装相应的音频库,并且程序会访问在线字典接口生成题目音频。
  3. 线程管理:为了避免界面卡顿,音频播放等操作被放置在单独的线程中处理,保证主界面的流畅性。
  4. 数据存储:答题结果和错误回顾会暂时保存在程序内存中,但如果需要长期保存数据,可以考虑添加导出功能。

七、总结

这款选择题训练工具通过 Python 实现了一个简单易用的答题系统,利用 Tkinter 提供了良好的用户界面,结合 Pygame 和音频播放技术,增强了选择题问答的互动性。它可以帮助学生提高学习效率,帮助教师管理题库,并提供了直观的成绩统计与错误回顾功能,是一款非常实用的教学辅助工具。

相关文章:

Python选择题训练工具:高效学习、答题回顾与音频朗读一站式体验

一、引言 随着人工智能技术的不断进步&#xff0c;传统的教学方式已经逐渐向智能化、互动化转变。在众多英语测试题型中&#xff0c;选择题作为一种高效的方式被广泛应用于各类培训与考试中。为了帮助学生高效学习与自测&#xff0c;本篇文章将采用Python编写一款基于 Python …...

【Python】使用Selenium 操作浏览器 自动化测试 记录

【自动化】Python SeleniumUtil 工具 开启开发者模式 自动安装油猴用户脚本等-CSDN博客文章浏览阅读389次。【自动化】Python SeleniumUtil 工具。https://blog.csdn.net/G971005287W/article/details/144565691?spm1001.2014.3001.5501【学习记录】浏览器指纹相关学习记录&am…...

汽车IVI中控开发入门及进阶(42):OpenVG

概览: OpenVG是一个无版权、跨平台的API,它为高级用户界面和矢量图形库(如SVG)提供了一个低级硬件加速接口。OpenVG主要针对需要便携式加速高质量矢量图形以获得引人注目的用户界面和文本的消费电子产品、手持设备、可穿戴设备和汽车设备,同时使硬件加速能够在非常低的功…...

两点间最短距离 - Dijkstra

一、汇总 算法场景说明参考BFS 树 无权图的搜索 标准BFS默认搜索一条最短路径 改造后可以输出所有最短路径 https://blog.csdn.net/m0_37145844/article/details/144534202DFS走迷宫主要利用回溯算法思想&#xff0c;不保证最短路径https://blog.csdn.net/m0_37145844/articl…...

0002__GPU

国内GPU公司主要包括以下几家‌&#xff1a; ‌摩尔线程‌&#xff1a;摩尔线程被誉为“中国版英伟达”&#xff0c;成立于2019年&#xff0c;由前英伟达全球副总裁张建中创立。该公司已获得425项授权专利&#xff0c;计划上市&#xff0c;目标估值高达1500亿元。摩尔线程的技术…...

StarRocks 排查单副本表

文章目录 StarRocks 排查单副本表方式1 查询元数据&#xff0c;检查分区级的副本数方式2 SHOW PARTITIONS命令查看 ReplicationNum修改副本数命令 StarRocks 排查单副本表 方式1 查询元数据&#xff0c;检查分区级的副本数 # 方式一 查询元数据&#xff0c;检查分区级的副本数…...

基于字节大模型的论文翻译(含免费源码)

基于字节大模型的论文翻译 源代码&#xff1a; &#x1f44f; star ✨ https://github.com/boots-coder/LLM-application 展示 项目简介 本项目是一个基于大语言模型&#xff08;Large Language Model, LLM&#xff09;的论文阅读与翻译辅助工具。它通过用户界面&#xff08…...

【原生js案例】ajax的简易封装实现后端数据交互

ajax是前端与后端数据库进行交互的最基础的工具&#xff0c;第三方的工具库比如jquery,axios都有对ajax进行第二次的封装&#xff0c;fecth是浏览器原生自带的功能&#xff0c;但是它与ajax还是有区别的&#xff0c;总结如下&#xff1a; ajax与fetch对比 实现效果 代码实现 …...

uniapp Native.js 调用安卓arr原生service

有问题&#xff0c;文中的内容不正确 最近搞了个uni小项目&#xff0c;一个定制的小平板&#xff0c;带一个nfc设备&#xff0c;厂家只给了一套安卓原生demo&#xff0c;头一次玩原生安卓&#xff0c;废了好半天劲打出来arr包&#xff0c;想镶进uniapp里&#xff0c;网上查了好…...

关于画火山图(by ggplot2)的一些总结和经验

愿武艺晴小朋友一定得每天都开心! 文献中常用经典的火山图,是展示差异表达基因的利器。每次测完转录组,做实验组和对照组的比较后,都会用到。 我自己也画了不算太多也不算太少的次数。然后最近画的时候忽然间意识到这个可视化方法我经常用,却没系统的整理过,一些tips散…...

组装一台电脑需要哪些硬件设备?点击了解

组装一台电脑是一个既有趣又实用的过程&#xff0c;我们可以根据自己的需求和预算来定制一台完全符合个人使用习惯的计算机。 一、核心部件 1、中央处理器&#xff08;CPU&#xff09; CPU是计算机的“大脑”&#xff0c;负责执行各种计算任务。它的性能直接影响到计算机的运…...

Mac M1使用pip3安装报错

1. Mac系统使用pip3安装组件的时候报”外部管理环境”错误&#xff1a; error: externally-managed-environment 2.解决办法 去掉这个提示 1、先查看当前python版本&#xff1a; python3 --version 2、查找EXTERNALLY-MANAGED 文件的位置&#xff08;根据自己当前使用的pytho…...

在Linux系统安装配置 MySQL 和 hive,hive配置为远程模式

前提&#xff1a;已安装配置好了Hadoop环境&#xff0c;因为hive的底层是Hadoop 1 Mysql安装 搜索Centos7自带的mariadb rpm -qa|grep mariadb 卸载mariadb rpm -e mariadb-libs-5.5.64-1.el7.x86_64 --nodeps 再搜索一次看看是否还存在 rpm -qa|grep mariadb 安装mysql 创…...

亚信安全与方天股份达成战略合作,双向奔赴助力数字化转型

近日&#xff0c;亚信安全科技股份有限公司&#xff08;以下简称“亚信安全”&#xff09;正式与青岛方天科技股份有限公司&#xff08;以下简称“方天股份”&#xff09;签订合作框架协议。双方强强携手&#xff0c;在网络安全运营平台共建、信息化项目安全支撑、政企市场拓展…...

ubuntu镜像开荒ssh

直接unminimized deprecated me ubuntu 安装 ssh&#xff0c;用 service 启动 4o 在 Ubuntu 上安装并启动 SSH 服务&#xff0c;你可以按照以下步骤进行操作&#xff1a; 更新软件包列表&#xff1a; 首先&#xff0c;确保你的软件包列表是最新的。打开终端并运行以下命令&…...

前端yarn工具打包时网络连接问题排查与解决

最近线上前端打包时提示 “There appears to be trouble with your network connection”&#xff0c;以此文档记录下排查过程。 前端打包方式 docker启动临时容器打包&#xff0c;命令如下 docker run --rm -w /app -v pwd:/app alpine-node-common:v16.20-pro sh -c "…...

CCF-GESP 等级考试 C++ 真题解析目录

GESP C 一级 序号日期真题解析链接12023.03CCF-GESP 等级考试 2023年3月认证C一级真题解析22023.06CCF-GESP 等级考试 2023年6月认证C一级真题解析32023.09[CCF-GESP 等级考试 2023年9月认证C一级真题解析]42023.12[CCF-GESP 等级考试 2023年12月认证C一级真题解析]52024.03[C…...

如何使用 WebAssembly 扩展后端应用

1. WebAssembly 简介 随着互联网的发展&#xff0c;越来越多的应用借助 Javascript 转到了 Web 端&#xff0c;但人们也发现&#xff0c;随着移动互联网的兴起&#xff0c;需要把大量的应用迁移到手机端&#xff0c;随着手端的应用逻辑越来越复杂&#xff0c;Javascript 的解析…...

从DINO到DINOv2——自监督视觉Transformer的升级改进之路(基于ViT)

前言 之所以关注到DINOV2&#xff0c;原因在于我解读多个具身机器人模型时——发现他们的视觉基座都用的DINOV2&#xff0c;比如 rekepOpen-TeleVisionOpenVLACogACTOKAMI 不过&#xff0c;实话讲&#xff0c;DINO论文的可读性是真的不高&#xff0c;使得本次解读不易..总之…...

CCF-GESP 等级考试 2024年12月认证C++七级真题解析

2024年12月真题 一、单选题&#xff08;每题2分&#xff0c;共30分&#xff09; 正确答案&#xff1a;D 解析&#xff1a;考察字符类型和ASCII码值。 字符类型参与运算&#xff0c;是它所对应的ASCII码值在参与运算&#xff0c;运算结果为整数值。小写字母 b 的ASCII码为98&am…...

Qt之串口设计-线程实现(十二)

Qt开发 系列文章 - Serial-port&#xff08;十二&#xff09; 目录 前言 一、SerialPort 二、实现方式 1.创建类 2.相关功能函数 3.用户使用 4.效果演示 5.拓展应用-实时刷新 总结 前言 Qt作为一个跨平台的应用程序开发框架&#xff0c;在串口编程方面提供了方便易用…...

20241217使用M6000显卡在WIN10下跑whisper来识别中英文字幕

20241217使用M6000显卡在WIN10下跑whisper来识别中英文字幕 2024/12/17 17:21 缘起&#xff0c;最近需要识别法国电影《地下铁》的法语字幕&#xff0c;使用 字幕小工具V1.2【whisper套壳/GUI封装了】 无效。 那就是直接使用最原始的whisper来干了。 当你重装WIN10的时候&#…...

基于 uniapp 开发 android 播放 webrtc 流

一、播放rtsp协议流 如果 webrtc 流以 rtsp 协议返回&#xff0c;流地址如&#xff1a;rtsp://127.0.0.1:5115/session.mpg&#xff0c;uniapp的 <video> 编译到android上直接就能播放&#xff0c;但通常会有2-3秒的延迟。 二、播放webrtc协议流 如果 webrtc 流以 webrt…...

Java反射学习(3)(“反射“机制获取成员变量及详细信息(Field类))

目录 一、基本引言。 &#xff08;1&#xff09;基本内容回顾。 &#xff08;2&#xff09;本篇博客的核心内容-基本介绍。 二、Java中使用"反射"机制获取成员变量及内部的详细信息。 &#xff08;1&#xff09;"反射"机制获取成员变量及详细信息的基本概念…...

Flutter组件————AppBar

AppBar 是 Flutter 中用于创建应用程序顶部栏的组件&#xff0c;它遵循 Material Design 规范。 参数&#xff1a; 参数名称类型描述titleWidget设置 AppBar 中的标题文本或自定义标题小部件。automaticallyImplyLeadingbool决定是否自动添加返回按钮&#xff08;如果页面不是…...

LabVIEW在电液比例控制与伺服控制中的应用

LabVIEW作为一种图形化编程环境&#xff0c;广泛应用于各类控制系统中&#xff0c;包括电液比例控制和伺服控制领域。在这些高精度、高动态要求的控制系统中&#xff0c;LabVIEW的优势尤为突出。以下从多个角度探讨其应用与优势&#xff1a; ​ 1. 灵活的控制架构 LabVIEW为电…...

Jenkins

1.安装 需要先安装jdk11 yum install -y java-11 yum localinstall -y jenkins-2.361.4-1.1.noarch.rpm 启动服务 systemctl enable --now jenkins.service 开始安装 进入下一步&#xff0c;关掉即可 下一步&#xff0c;点击开始使用Jenkins 2.插件的安装 1.方式一&…...

Sigrity System Explorer Snip Via Pattern From Layout模式从其它设计中截取过孔模型和仿真分析操作指导

Sigrity System Explorer Snip Via Pattern From Layout模式从其它设计中截取过孔模型和仿真分析操作指导 Sigrity System Explorer Snip Via Pattern From Layout模式支持从其它设计中截取过孔模型用于仿真分析,同样以差分模板为例 具体操作如下 双击打开System Explorer软件…...

Redux使用教程

Redux使用教程 一、安装依赖 安装ReduxToolkit、react-redux&#xff0c;命令行输入 npm i reduxjs/toolkit react-redux二、创建目录结构 创建标准的store目录结构&#xff0c;当然这一步不是必须的 ​ ① 在src下创建store文件夹 ​ ② 在store文件夹中创建一个modules文…...

gpu硬件架构

1.简介 NVIDIA在视觉计算和人工智能&#xff08;AI&#xff09;领域处于领先地位&#xff1b;其旗舰GPU已成为解决包括高性能计算和人工智能在内的各个领域复杂计算挑战所不可或缺的。虽然它们的规格经常被讨论&#xff0c;但很难掌握各种组件的清晰完整的图景。 这些GPU的高性…...

volatility2工具的使用vol2工具篇

vol2工具 命令格式&#xff1a;vol.py -f [image] --profile[profile] [plugin] 1、查看系统的操作版本&#xff0c;系统镜像信息 2.查看用户名密码信息&#xff0c;当前操作系统中的password hash&#xff0c;例如SAM文件内容 3.从注册表提取LSA密钥信息&#xff08;已解密&…...

LeetCode:104.二叉树的最大深度

跟着carl学算法&#xff0c;本系列博客仅做个人记录&#xff0c;建议大家都去看carl本人的博客&#xff0c;写的真的很好的&#xff01; 代码随想录 LeetCode&#xff1a;104.二叉树的最大深度 给定一个二叉树 root &#xff0c;返回其最大深度。 二叉树的 最大深度 是指从根节…...

【游戏设计原理】19 - 得益

一、学习与分析 核心概念总结&#xff1a; 得益&#xff08;Payoff&#xff09;&#xff1a;玩家在游戏中通过决策获得的产出&#xff0c;包括正面和负面。它可以以分数、等级、货币等形式体现。玩家差异&#xff1a;不同玩家追求不同类型的回报&#xff0c;有些人重视分数或…...

简单配置,全面保护:HZERO审计服务让安全触手可及

HZERO技术平台&#xff0c;凭借多年企业资源管理实施经验&#xff0c;深入理解企业痛点&#xff0c;为您提供了一套高效易用的审计解决方案。这套方案旨在帮助您轻松应对企业开发中的审计挑战&#xff0c;确保业务流程的合规性和透明度。 接下来&#xff0c;我将为大家详细介绍…...

day5,数据结构,单向,双向,循环链表

1】思维导图 2】完成单向循环链表的所有操作 【创建、判空、尾插、遍历、尾删、销毁】 创建&#xff1a; LooplinkPtr caerte() {LooplinkPtr h(LooplinkPtr)malloc(sizeof(Looplink));if(NULLh){printf("创建失败\n");return NULL;}h->len0;h->data0;h->…...

构建高性能异步任务引擎:FastAPI + Celery + Redis

在现代应用开发中&#xff0c;异步任务处理是一个常见的需求。无论是数据处理、图像生成&#xff0c;还是复杂的计算任务&#xff0c;异步执行都能显著提升系统的响应速度和吞吐量。今天&#xff0c;我们将通过一个实际项目&#xff0c;探索如何使用 FastAPI、Celery 和 Redis …...

Linux 中检查 Apache Web Server (httpd) 正常运行时间的 4 种方法

注&#xff1a;机翻&#xff0c;未校。 4 Ways To Check Uptime of Apache Web Server (httpd) on Linux November 28, 2019 by Magesh Maruthamuthu We all know about the purpose of uptime command in Linux. 我们都知道 Linux 中 uptime 命令的目的。 It is used to c…...

简易CPU设计入门:内存初始化文件(三)

项目代码下载 请大家首先准备好本项目所用的源代码。如果已经下载了&#xff0c;那就不用重复下载了。如果还没有下载&#xff0c;那么&#xff0c;请大家点击下方链接&#xff0c;来了解下载本项目的CPU源代码的方法。 下载本项目代码 准备好了项目源代码以后&#xff0c;我…...

深度解析Meta最新发布的虚拟试穿技术:一键试衣的革命性进展

随着电子商务的发展,消费者对在线购物体验的要求越来越高。为了满足这一需求,Meta最近发布了一款面向电商人群的一键试衣工具,它不仅能够实现精确控制人物的外观(虚拟试衣)和姿态(姿态迁移),还能保持参考图像中的细节纹理特征,避免失真。这项技术通过引入基于注意力机…...

Apache Solr RCE(CVE-2017-12629)--vulhub

Apache Solr 远程命令执行漏洞&#xff08;CVE-2017-12629&#xff09; Apache Solr 是一个开源的搜索服务器。Solr 使用 Java 语言开发&#xff0c;主要基于 HTTP 和 Apache Lucene 实现。原理大致是文档通过Http利用XML加到一个搜索集合中。查询该集合也是通过 http收到一个…...

使用二分查找法找出给定点距离给定点集合距离最近的点

1、场景描述 给定点Point A &#xff08;x,y&#xff09;和 直线点集合 Points [(x1,y1),(x2,y2),(x3,y3),(x4,y4),(x5,y5)......],计算出集合中距离点A最近的一个点 &#xff08;如果集合中的两个点距离A点最近且相等&#xff0c;则只取其中一个&#xff09; 2、代码&#x…...

凯酷全科技抖音电商服务的卓越践行者

在数字经济蓬勃发展的今天&#xff0c;电子商务已成为企业增长的新引擎。随着短视频平台的崛起&#xff0c;抖音作为全球领先的短视频社交平台&#xff0c;不仅改变了人们的娱乐方式&#xff0c;也为品牌和商家提供了全新的营销渠道。厦门凯酷全科技有限公司&#xff08;以下简…...

复盘:“辩论赛”复盘

这个小活动整个下来&#xff0c;我是按照“策划-执行-总结-复盘“这个顺序来过的&#xff1b; 在策划上&#xff1a; 首先&#xff0c;针对这个论题&#xff0c;我其实很清楚有很多问题&#xff0c;比如引起逆反心理&#xff0c;没想到还有不少人参与。 其次&#xff0c;针对这…...

SSD目标检测算法

SSD&#xff08;Single Shot MultiBox Detector&#xff09;是一种基于深度学习的目标检测算法&#xff0c;它结合了高效的检测策略和准确的检测结果。相比于传统的目标检测算法&#xff0c;SSD能够在保持较高准确性的同时快速地进行目标检测。 SSD算法的主要特点包括以下几个…...

MyBatis通过注解配置执行SQL语句原理源码分析

文章目录 前置准备流程简要分析配置文件解析加载 Mapper 接口MapperAnnotationBuilder解析接口方法注解parseStatement 方法详解MapperBuilderAssistant 前置准备 创建一个mybatis-config.xml文件&#xff0c;配置mapper接口 <mappers><!--注解配置--><mapper…...

12_HTML5 Video(视频) --[HTML5 API 学习之旅]

HTML5 引入了 <video> 标签&#xff0c;使得在网页中嵌入和控制视频变得非常简单。<video> 元素允许你直接在 HTML 中指定视频文件&#xff0c;并提供了多种属性和方法来控制视频的播放、暂停、音量等。 基本用法 HTML5 的 <video> 标签让嵌入和控制视频变…...

JaxaFx学习(三)

目录&#xff1a; &#xff08;1&#xff09;JavaFx MVVM架构实现 &#xff08;2&#xff09;javaFX知识点 &#xff08;3&#xff09;JavaFx的MVC架构 &#xff08;4&#xff09;JavaFx事件处理机制 &#xff08;5&#xff09;多窗体编程 &#xff08;6&#xff09;数据…...

视频点播系统|Java|SSM|VUE| 前后端分离

【技术栈】 1⃣️&#xff1a;架构: B/S、MVC 2⃣️&#xff1a;系统环境&#xff1a;Windowsh/Mac 3⃣️&#xff1a;开发环境&#xff1a;IDEA、JDK1.8、Maven、Mysql5.7 4⃣️&#xff1a;技术栈&#xff1a;Java、Mysql、SSM、Mybatis-Plus、VUE、jquery,html 5⃣️数据库可…...

Springboot 学习 之 logback-spring.xml 日志压缩 .tmp 临时文件问题

文章目录 前言功能简述1. 自定义日志文件名2. 归档规则 && 压缩2.1. 归档配置2.2. 归档压缩2.3. 日志格式 && 编码 现象原因解决办法 前言 在 Springboot 应用中&#xff0c;默认使用 logback-spring.xml 配置日志相关 功能简述 1. 自定义日志文件名 <fi…...

智慧工地整体解决方案

智慧工地背景与需求 智慧工地解决方案的提出&#xff0c;源于建筑行业面临的诸多挑战。安全事故频发、环保体系不健全、建筑信息化水平低以及施工现场管理难度大等问题&#xff0c;迫切需要通过智能化手段来提升工地管理的效率与安全性。智慧工地利用现代信息技术&#xff0c…...