2026-2027届Python毕业设计优质选题汇总:百个热门方向完整推荐

发布时间:2026/7/10 17:15:26

2026-2027届Python毕业设计优质选题汇总:百个热门方向完整推荐 前言博主介绍一线全栈工程师毕设实战引路人。技术栈覆盖Java、Python、C#、PHP、Node.js及UniApp跨端开发擅长多语言项目落地与架构设计。持续分享毕设源码、开题报告、技术选型心得与职场踩坑经验。用工程化思维写代码帮你把毕设做成作品集。毕业设计选题越来越重要也越来越让同学感到焦虑。切记先收藏起来很多同学不知道该如何确定题目也不清楚导师真正关注的是什么导致选题阶段浪费了很多时间。选题指导其实选题阶段最重要的不是一开始就想一个 “完美题目”而是先把自己能做什么、感兴趣什么、导师可能认可什么理清楚。很多同学之所以选题困难往往是因为没有把研究方向、题目来源、实践条件和论文写作要求结合起来考虑。选题避坑如果选题没有做好后面的开题、调研、实验、写作都会受到影响。因此建议大家在正式确定题目之前先多查资料、多和导师沟通尽量选择一个既有研究价值、又有数据和案例支撑的题目。有疑问可随时咨询免费解答也可以参考一些优秀的毕业设计题目帮助自己打开思路避免走弯路收藏收藏收藏~文章最下面获取源码和数据库Python选题参考基于Python的电商平台商品销售数据分析与趋势预测基于Python的个人账单管理系统Python实现的露营装车租赁管理系统基于Python的悄悄读图书商城基于Python的高校综合交流社区系统基于Python的流动摊位信息系统Python实现的企业办公用品智能管理Python实现糖尿病防治科普系统基于Python的招聘信息数据分析系统基于Python的社区扶贫救助管理系统Python实现的企业项目审批管理系统基于Python的景区停车管理系统Python实现的汽车租赁系统Python实现的在线图书借阅管理系统Python实现的动力方健身房系统基于Python的开发板的环境监测仪器Python实现的固定资产盘点管理系统基于Python的商超管理系統基于Python的鲜花销售系统基于Python的教室预约基于Python的藏品展示与交易系统基于Python的面向数字乡村的就业信息融合服务平台基于Python的社会志愿者服务管理系统基于Python的医院药品库存管理平台基于Python的校内外卖APP基于Python的零食仓储管理系统Python实现的物流管理系统Python实现的校园快递管理系统Python实现的城市社区垃圾分类积分兑换管理系统Python实现的重庆地区招聘数据分析与岗位推荐系统Python实现的电脑硬件配置系统Python实现的智慧“银发”经济养老平台Python实现的“襄约·枕汾”旅居小院管理系统基于Python的动漫周边销售系统基于Python的客户投诉管理系统基于Python的医院挂号管理系统基于Python的安养院信息管理系统基于Python的影院智能管理系统基于Python的机械产品库存管理信息系统基于Python的废旧物资回收平台基于Python的高校寝室管理系统Python实现的丝绸之路特色文化旅游信息服务平台Python实现的小区老年居民服务系统基于Python的学校图书馆管理AI数字助手Python实现的智能图书推荐系统基于Python的马拉松赛事管理系统基于Python的智慧药店药品管理系统基于Python的智能个人博客系统基于Python的校园二手交易系统Python实现的上门安装维修服务系统Python实现的非物质文化遗产商城管理系统Python实现的沈阳云洗浴管理系统Python实现的智慧文旅系统Python实现的电商评论大数据情感分析与产品改进建议系统Python实现的高校教工卡信息管理系统Python实现的大学生就业平台Python实现的五金仓库管理系统Python实现的汽车租赁管理系统Python实现的校园新闻发布系统Python实现的宠物医疗店管理系统Python实现的动物救助及领养管理系统Python实现的课堂签到与互动系统Python实现的生鲜销售数据分析与可视化系统Python实现的考研刷题数据分析平台Python实现的校运会管理系统Python实现的山东省气象监测数据分析系统Python实现的手工艺品销售管理系统Python实现的邻里互助平台Python实现的非遗文化数字化管理与在线传播系统基于Python的保龄球馆预约管理系统基于Python的中医问诊系统基于Python的零工平台管理系统基于Python的宠物用品商店APP基于Python的红旗影院电影售票系统基于Python的在线购物商城系统Python实现的音乐服务平台Python实现的心理健康互助小组管理平台Python实现的课堂签到系统Python实现的教育培训机构学员管理信息系统Python实现的校园健康膳食管理平台Python实现的搜索引擎系统Python实现的甘肃省博物馆信息管理系统Python实现的社区邻里互助共享系统Python实现的中医体质辨识与个性化养生方案Python实现的罕见病交流平台基于Python的服装商城管理系统基于Python的自习室智能预约系统基于Python的演唱会门票管理系统基于Python的二次元产品交流与售卖系统基于Python的婚礼花艺线上销售系统数据库参考CREATE TABLE slides ( slides_id int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT 轮播图ID, title varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT 标题, content varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT 内容, url varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT 链接, img varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT 轮播图, hits int(10) unsigned NOT NULL DEFAULT 0 COMMENT 点击量, create_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 创建时间, update_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 更新时间, PRIMARY KEY (slides_id) USING BTREE ) ENGINEInnoDB DEFAULT CHARSETutf8mb4 COLLATEutf8mb4_general_ci COMMENT轮播图; DROP TABLE IF EXISTS auth; CREATE TABLE auth ( auth_id int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT 授权ID, user_group varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT 用户组, mod_name varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT 模块名, table_name varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT 表名, page_title varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT 页面标题, path varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT 路由路径, parent varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT 父级菜单, parent_sort int(10) NOT NULL DEFAULT 0 COMMENT 父级菜单排序, position varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT 位置, mode varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT _blank COMMENT 跳转方式, add tinyint(1) unsigned NOT NULL DEFAULT 1 COMMENT 是否可增加, del tinyint(1) unsigned NOT NULL DEFAULT 1 COMMENT 是否可删除, set tinyint(1) unsigned NOT NULL DEFAULT 1 COMMENT 是否可修改, get tinyint(1) unsigned NOT NULL DEFAULT 1 COMMENT 是否可查看, field_add text CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT 添加字段, field_set text CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT 修改字段, field_get text CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT 查询字段, table_nav_name varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT 跨表导航名称, table_nav varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT 跨表导航, option text CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT 配置, create_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 创建时间, update_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 更新时间, PRIMARY KEY (auth_id) USING BTREE ) ENGINEInnoDB DEFAULT CHARSETutf8mb4 COLLATEutf8mb4_general_ci COMMENT用户权限管理; DROP TABLE IF EXISTS upload; CREATE TABLE upload ( upload_id int(11) NOT NULL AUTO_INCREMENT COMMENT 上传ID, name varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT 文件名, path varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT 访问路径, file varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT 文件路径, display varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT 显示顺序, father_id int(11) DEFAULT 0 COMMENT 父级ID, dir varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT 文件夹, type varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT 文件类型, PRIMARY KEY (upload_id) USING BTREE ) ENGINEInnoDB DEFAULT CHARSETutf8mb4 COLLATEutf8mb4_general_ci COMMENT文件上传; insert into upload values (1,movie.mp4,/upload/movie.mp4,,null,0,null,video); DROP TABLE IF EXISTS subject; CREATE TABLE subject ( subject_id int(11) NOT NULL AUTO_INCREMENT COMMENT 科目ID, name varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT 科目名称, update_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 更新时间, create_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 创建时间, PRIMARY KEY (subject_id) USING BTREE ) ENGINEInnoDB DEFAULT CHARSETutf8mb4 COLLATEutf8mb4_general_ci COMMENT科目; insert into subject values (1,科目1,2026-04-12 10:37:26,2026-04-12 10:37:26); DROP TABLE IF EXISTS message_inform; CREATE TABLE message_inform ( message_inform_id int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT 通知ID, user_id int(10) unsigned NOT NULL DEFAULT 0 COMMENT 通知人ID, title varchar(255) DEFAULT NULL COMMENT 标题, state varchar(255) DEFAULT NULL COMMENT 状态, type varchar(64) DEFAULT NULL COMMENT 分类, content varchar(255) DEFAULT NULL COMMENT 内容, create_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 创建时间, update_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 更新时间, PRIMARY KEY (message_inform_id) USING BTREE, KEY user_id (user_id) ) ENGINEInnoDB DEFAULT CHARSETutf8 ROW_FORMATDYNAMIC COMMENT通知记录; DROP TABLE IF EXISTS user_group; CREATE TABLE user_group ( group_id mediumint(8) unsigned NOT NULL AUTO_INCREMENT COMMENT 用户组ID, display smallint(4) unsigned NOT NULL DEFAULT 100 COMMENT 显示顺序, name varchar(16) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT COMMENT 名称, description varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT 描述, source_table varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT 来源表, source_field varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT 来源字段, source_id int(10) unsigned NOT NULL DEFAULT 0 COMMENT 来源ID, register smallint(1) unsigned DEFAULT 0 COMMENT 注册位置, create_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 创建时间, update_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 更新时间, PRIMARY KEY (group_id) USING BTREE ) ENGINEInnoDB DEFAULT CHARSETutf8mb4 COLLATEutf8mb4_general_ci COMMENT用户组; DROP TABLE IF EXISTS article; CREATE TABLE article ( article_id mediumint(8) unsigned NOT NULL AUTO_INCREMENT COMMENT 文章id, title varchar(125) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT COMMENT 标题, type varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT 0 COMMENT 文章分类, hits int(10) unsigned NOT NULL DEFAULT 0 COMMENT 点击数, praise_len int(11) NOT NULL DEFAULT 0 COMMENT 点赞数, create_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 创建时间, update_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 更新时间, source varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT 来源, url varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT 来源地址, tag varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT 标签, content longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci COMMENT 正文, img varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT 封面图, description text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci COMMENT 文章描述, PRIMARY KEY (article_id,title) USING BTREE ) ENGINEInnoDB DEFAULT CHARSETutf8mb4 COLLATEutf8mb4_general_ci COMMENT文章; DROP TABLE IF EXISTS access_token; CREATE TABLE access_token ( token_id int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT 临时访问牌ID, token varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT 临时访问牌, info text CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT 信息, maxage int(2) NOT NULL DEFAULT 2 COMMENT 最大寿命默认2小时, create_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 创建时间, update_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 更新时间, user_id int(11) unsigned NOT NULL DEFAULT 0 COMMENT 用户编号, PRIMARY KEY (token_id) USING BTREE ) ENGINEInnoDB DEFAULT CHARSETutf8mb4 COLLATEutf8mb4_general_ci COMMENT登陆访问时长; DROP TABLE IF EXISTS exam; CREATE TABLE exam ( exam_id mediumint(8) unsigned NOT NULL AUTO_INCREMENT COMMENT 考试id, name varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT COMMENT 考试名称[2,32], duration int(11) DEFAULT NULL COMMENT 答题时长, score double(8,2) DEFAULT 0.00 COMMENT 总分, status varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT 状态启用、禁用, create_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 创建时间, update_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 更新时间, open_start datetime DEFAULT NULL COMMENT 开放开始时间, open_end datetime DEFAULT NULL COMMENT 开放结束时间, reuse_state varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT 启用 COMMENT 多次答题启用、禁用, PRIMARY KEY (exam_id) USING BTREE ) ENGINEInnoDB DEFAULT CHARSETutf8mb4 COLLATEutf8mb4_general_ci ROW_FORMATCOMPACT COMMENT考试; E TABLE user_answer ( user_answer_id mediumint(8) unsigned NOT NULL AUTO_INCREMENT COMMENT 用户答题ID, user_id mediumint(8) NOT NULL COMMENT 用户ID, exam_id mediumint(8) unsigned NOT NULL DEFAULT 0 COMMENT 考试id, score double(8,2) DEFAULT 0.00 COMMENT 分数, answers text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci COMMENT 答案, score_detail text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci COMMENT 评分详情, objective_score double(8,2) DEFAULT 0.00 COMMENT 客观题得分, subjective_score double(8,2) DEFAULT 0.00 COMMENT 主观题得分, score_state tinyint(2) DEFAULT 0 COMMENT 评分状态, nickname varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT 提交人, create_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 创建时间, update_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 更新时间, comment_desc varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT 评语, PRIMARY KEY (user_answer_id) USING BTREE ) ENGINEInnoDB DEFAULT CHARSETutf8mb4 COLLATEutf8mb4_general_ci COMMENT用户答题; DROP TABLE IF EXISTS code_token; CREATE TABLE code_token ( code_token_id int(11) NOT NULL AUTO_INCREMENT COMMENT 验证码ID, token varchar(255) CHARACTER SET latin1 COLLATE latin1_swedish_ci DEFAULT NULL COMMENT 令牌, code varchar(255) CHARACTER SET latin1 COLLATE latin1_swedish_ci DEFAULT NULL COMMENT 验证码, expire_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 失效时间, create_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 创建时间, update_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 更新时间, PRIMARY KEY (code_token_id) USING BTREE ) ENGINEInnoDB DEFAULT CHARSETutf8mb4 COLLATEutf8mb4_general_ci ROW_FORMATCOMPACT COMMENT验证码; DROP TABLE IF EXISTS collect; CREATE TABLE collect ( collect_id int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT 收藏ID, user_id int(10) unsigned NOT NULL DEFAULT 0 COMMENT 收藏人ID, source_table varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT 来源表, source_field varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT 来源字段, source_id int(10) unsigned NOT NULL DEFAULT 0 COMMENT 来源ID, title varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT 标题, img varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT 封面, create_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 创建时间, update_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 更新时间, PRIMARY KEY (collect_id) USING BTREE ) ENGINEInnoDB DEFAULT CHARSETutf8mb4 COLLATEutf8mb4_general_ci COMMENT收藏; DROP TABLE IF EXISTS exam_question_database; CREATE TABLE exam_question_database ( exam_question_id mediumint(8) unsigned NOT NULL AUTO_INCREMENT COMMENT ID, subject_name varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT NULL COMMENT 科目名称, type varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT 类型, title varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT 题目, question_item varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT 选项, answer varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT 参考答案, score double(8,2) DEFAULT NULL COMMENT 总分, create_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 创建时间, update_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 更新时间, answer_analysis varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT 答案解析, PRIMARY KEY (exam_question_id) USING BTREE ) ENGINEInnoDB DEFAULT CHARSETutf8mb4 COLLATEutf8mb4_general_ci ROW_FORMATDYNAMIC COMMENT试题库;代码参考from app.core import controller import numpy as np from app.service import service_select controllerClass getattr(controller, Controller) # 课程信息 class Course_information(controllerClass): def __init__(self, config{}): 构造函数 param {Object} config 配置参数 config_init { # 选择的模板那路径模板 tpl: ./course_information/, # 注册API get_api: [], # 注册post api路由 post_api: [], # 选择的服务 service: course_information, } config_temp config config_temp.update(config_init) super(Course_information , self).__init__(config_temp) # 协同过滤算法 def Get_hits_list(self, ctx): query dict(ctx.query) service self.service if user_id in query: user_id query.pop(user_id) if user_id : return self.Get_list(ctx) else: examine_state if examine_state in query: examine_state query.pop(examine_state) # 查询该用户常点击 hitsSource SELECT COUNT( hits_id ) AS hits_count, source_id FROM hits WHERE source_table course_information AND user_id user_id GROUP BY source_id hitsSourceList service.run(hitsSource) # 判断是否为空,代表当前用户暂无点击数据那么取其他用户的最常点击 if len(hitsSourceList) 0: hitsSource SELECT COUNT( hits_id ) AS hits_count, source_id FROM hits WHERE source_table course_information GROUP BY source_id hitsSourceList service.run(hitsSource) table_name course_information table_id course_information_id type_name course_categories # 二次处理-如果依旧为空则取添加时间前12条数据 if len(hitsSourceList) 0: sql SELECT * FROM table_name if examine_state ! : sql sql where examine_state examine_state sql sql ORDER BY create_time DESC LIMIT 0,12 list service.run(sql) return {result: {list: list, count: len(list)}} else: # 对用户点击量进行排序取得最大值 max 0 maxSourceId 0 for o in hitsSourceList: hitsCount float(o[hits_count]) if hitsCount max: max hitsCount maxSourceId o[source_id] # 查询该用户点击最大值的种类 typeSql SELECT type_name FROM table_name WHERE table_id str(maxSourceId) typeList service.run(typeSql) # 如果为空则取添加时间前12条数据 if len(typeList) 0: sql SELECT * FROM table_name if examine_state ! : sql sql where examine_state examine_state sql sql ORDER BY create_time DESC LIMIT 0,12 list service.run(sql) return {result: {list: list, count: len(list)}} else: # 查询该种类的数据 typeName typeList[0][type_name] sql SELECT * FROM table_name WHERE type_name typeName if examine_state ! : sql sql and examine_state examine_state ORDER BY create_time DESC limit 0,12 else: sql sql ORDER BY create_time DESC limit 0,12 resultList service.run(sql) # 如果为空则取添加时间前12条数据 if len(resultList) 0: sql SELECT * FROM table_name if examine_state ! : sql sql where examine_state examine_state sql sql ORDER BY create_time DESC LIMIT 0,12 list service.run(sql) return {result: {list: list, count: len(list)}} else: # 对结果排序-冒泡排序 n len(resultList) for i in range(n): # 是否发生交换 swapped False for j in range(n-i-1): if resultList[j][hits] resultList[j1][hits]: resultList[j], resultList[j1] resultList[j1], resultList[j] swapped True if not swapped: # 没有发生交换则说明数组已有序,停止冒泡 break if len(resultList) 12: # 判断是否有12条-如果不足则计算其他类型和用户当前点击最多的余弦相似度依次往下取得数据 typeCosSql SELECT type_name FROM table_name WHERE type_name typeName GROUP BY type_name typeCosList service.run(typeCosSql) if len(typeCosList) 0: for o in typeCosList: o[cosSim] self.similar(typeName, o[type_name], 2) # 冒泡根据相似度排序 cosn len(typeCosList) for i in range(cosn): # 是否发生交换 swapped False for j in range(n - i - 1): if j cosn - 1: if typeCosList[j][cosSim] typeCosList[j 1][cosSim]: typeCosList[j], typeCosList[j 1] typeCosList[j 1], typeCosList[j] swapped True if not swapped: # 没有发生交换则说明数组已有序,停止冒泡 break # 逐条加入数据 for o in typeCosList: sql SELECT * FROM table_name WHERE type_name o[type_name] if examine_state ! : sql sql and examine_state examine_state sql sql ORDER BY create_time DESC LIMIT 0, str(12 - len(resultList)) list service.run(sql) if len(list) 0: resultList.extend(list) return {result: {list: resultList, count: len(resultList)}} return self.Get_list(ctx) # 计算余弦相似度 def similar(self, s, t, f): print(s) print(t) if not s or not t: return 0 if s t: return 100 if len(s) len(t): l len(s) else: l len(t) n len(s) m len(t) d np.zeros((n1, m1)) if not f: f 2 def min(a, b, c): if a b: if a c: return a else: return c else: if b c: return b else: return c if n 0: return m if m 0: return n for i in range(0, n1, 1): d[i][0] i for j in range(0, m1, 1): d[0][j] j for i in range(1, n1, 1): si s[i - 1: i] for j in range(1, m1, 1): tj t[j - 1: j] if si tj: cost 0 else: cost 1 d[i][j] min(d[i - 1][j] 1, d[i][j - 1] 1, d[i - 1][j - 1] cost) res (1 - d[n][m] / l) * 100 return {:.2f}.format(res) # 课程笔记 class Course_notes(controllerClass): def __init__(self, config{}): 构造函数 param {Object} config 配置参数 config_init { # 选择的模板那路径模板 tpl: ./course_notes/, # 注册API get_api: [], # 注册post api路由 post_api: [], # 选择的服务 service: course_notes, } config_temp config config_temp.update(config_init) super(Course_notes , self).__init__(config_temp) # 下载 class Download(controllerClass): def __init__(self, config{}): 构造函数 param {Object} config 配置参数 config_init { # 选择的模板那路径模板 tpl: ./download/, # 选择的服务 service: upload, } config_temp {} config_temp.update(config) config_temp.update(config_init) super(Download, self).__init__(config_temp) # 下载文件 def Index(self, ctx): src ctx.query[src] name src.split(/)[-1] filename open(static src, rb) response FileResponse(filename) response[Content-Type] application/octet-stream response[Content-Disposition] attachment; filename*utf-8{}.format(escape_uri_path(name)) return response源码获取下方名片联系我即可~大家点赞、收藏、关注、评论啦

相关新闻