基于python高考志愿高校推荐系统+Django框架计算机毕业设计

184 篇文章 45 订阅
178 篇文章 9 订阅

[毕业设计]2023-2024年最新最全计算机专业毕设选题推荐汇总

感兴趣的可以先收藏起来,还有大家在毕设选题,项目以及论文编写等相关问题都可以给我留言咨询,希望帮助更多的人 。

在这里插入图片描述

1、摘 要

高三学生经过十二年的寒窗苦读,大多数都两耳不闻窗外事,一心只为了高考,对于刚高考完的考生来讲,他们对于自己的未来新生活是一无所知的,未来的专业选择、院校选择对于他们来说都是无比的陌生,不知道自己本身适合什么专业,对未来的专业是否喜爱有兴趣,也没有任何规划。对于自己的特长和爱好相匹配的专业更是不知道。他们在高考志愿填报的中大部分都属于蒙眼过河。
随着大数据时代的到来,推荐系统的应用越来越广泛了,包括影视推荐、音乐推荐、新闻推荐等等。但是,推荐系统在教育领域内,推荐系统的应用是非常少的。高考志愿的填报是众多考生和家长的焦点,但是在众多的学校和专业信息的海洋中,对自己有用的信息是非常少的。因此,本文将推荐系统应用于教育领域,帮助考生解决高考志愿填报环节的志愿选择问题,所以本系统的开发是十分有意义的。
本文利用 bootstrap3+HTML+CSS级联样式表的前端开发技术,开发设计了高考志愿推荐的Web前端界面。其中包括用户注册、登录界面、院校信息、专业信息和志愿推荐结果展示界面,在保证本系统实用性和易用性的同时为用户提供良好的交互体验。 本系统的开发后端采用Python语言和Django框架进行搭建,本系统还设计了问卷调查和高校推荐模块,通过设计霍兰德职业兴趣测试问卷调查的形式,侧面分析出考生的的性格类型,为其推荐较适合的专业,这也是本系统开发的创新点。

【关键词】高考志愿;高校专业;推荐系统

2、项目界面

(1)高校信息页面

在这里插入图片描述

(2)高校选择页面

在这里插入图片描述

(3)专业筛选页面

在这里插入图片描述

(4)推荐页面

在这里插入图片描述

(5)问卷调查页面

在这里插入图片描述

(6)后台管理页面

在这里插入图片描述

3、项目介绍

3.1 功能概述
目前,本系统需要了解高三学生具体需要哪些功能,能做到什么,达到什么程度,提供什么便利,使用本系统后又能有什么改变和益处,能为高三学生带来哪些影响,能为社会带来那些发展。
本次系统的需求对象是高三高考完准备填报大学的学生,要完成系统的全能制作,就必须要完成对高三学生的实际情况了解意见收集看看他们需要什么都会什么能做那些能为他们做哪些,根据分析报告制作系统一步一步完成高三学生需求的开发功能。
高校专业推荐系统的成功是靠两个重要部分完成的,前台用户界面和后台管理员管理界面。系统的基本功能实现也叫完善,如登录、注册、查看高校信息、查看专业信息、填写个人信息、问卷调查、高校推荐等等。在此基础上如果能体现界面美观、大方、美轮美奂等,能一下子突出重点、震撼他们的内心的效果,就更好了。
3.1.1 系统前台功能
作为用户上网浏览能瞬间看到的功能界面,首先,功能全面、且简洁易懂好操作,让用户能够方便快捷的使用本系统。网站前台的功能,如登录、注册、查看高校信息、查看专业信息、填写个人信息、问卷调查、高校推荐、查看高校分数线、高校热度等等。

3.1.2 系统后台功能
作为拥有特殊权利的人群的操作界面,理应没有注册界面,为了方便拥有特殊权利的人群对系统的管理,提供了方便的模块化管理模式。后台系统模块主要分为是管理专业信息、省份批次、院校信息、院校分数线、省份等等。

3.2 系统设计流程图
本系统设计分为学生用户子系统和管理员子系统两大模块,两个子系统的业务流程图如下图所示:
在这里插入图片描述

在这里插入图片描述

4、部分源码

from typing import List
from School import models
from User.models import User
import os
import pickle
import sqlite3


class SchoolRecommend:
    def __init__(self, school_class: models.School, recommend_score, predict_score):
        self.school_class = school_class
        self.recommend_score = recommend_score
        self.predict_score = predict_score

    def __str__(self):
        return self.school_class


def cal(res, province_id: int, score: int) -> List[SchoolRecommend]:
    for i in range(len(res)):
        # print(score, res[i].predict_score)
        res[i].recommend_score = 1 / (abs(int(score) - int(res[i].predict_score) + 20) / 100 + 1)
        if res[i].school_class.province.province_id == province_id:
            res[i].recommend_score *= 1.5
        res[i].recommend_score = round(res[i].recommend_score, 2)

    res = sorted(res, key=lambda x: x.recommend_score, reverse=True)
    return res


def get_recommend_list(user: User) -> List[SchoolRecommend]:
    file = f'./static/recommend_school/province_id{user.province.province_id}subject_type{user.subject_type}score{user.score}'
    with open('./static/school_pre_dic.json', 'rb') as f:
        school_pre_dic = pickle.load(f)
    print(school_pre_dic[11][30][1])
    if os.path.exists(file):
        with open(file, 'rb') as f:
            res = pickle.load(f)
    else:
        res = []
        school_list = models.School.objects.all()
        for i in school_list:
            try:
                score = school_pre_dic[int(user.province.province_id)][int(i.school_id)][int(user.subject_type)]
            except:
                score = 460
            res.append(SchoolRecommend(i, 0, score))
        res = cal(res, user.province.province_id, user.score)
        with open(file, 'wb') as f:
            pickle.dump(res, f)
    return res

源码获取:

🍅由于篇幅限制,获取完整文章或源码、代做项目的,查看主页【专栏名称】或者【用户名】或者顶部的【选题链接】就可以找到我获取项目源码学习啦~🍅

大家点赞、收藏、关注、评论啦 !

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值