# coding=utf-8
import csv
#数据文件路径
path = './school_info/分数线+评分2.csv'
with open(path, newline='', encoding='gbk') as csvfile:
datas = list(csv.reader(csvfile))[1:] #获取数据
datasSorted = sorted(datas,key=(lambda x : x[24]),reverse=True) #数据按评分进行一次排序,由大到小,16是评分一栏的Index
def running(inputSchool,province):
n0 = 10 #设置评分前面的长度
n1 = 15 #后面的
outputSchool0 = [] #保存排名靠前的
outputSchool1 = [] #保存排名靠后的
if province == '': #如果不进行输入,默认为上面学校的省份
province = [data[1] for data in datasSorted if inputSchool == data[0]][0]
if province == '全国':
schoolName = [x[0] for x in datasSorted] # 找出所有的学校名字
index = schoolName.index(inputSchool) # 找出输入学校在数据中的Index
# 输出评分排在输入学校前面的那些学校
try:
indexs = []
for i in range(n0,0,-1): #倒序减法
indexs.append(index-i) # 找出排在前面n0个的Index
for i in indexs: # 判断index的大学,避免类似清华大学这种前面没有其他学校的情况出现
if i >= 0:
outputSchool0.append(schoolName[i])
except:
pass
try:
indexs = []
for i in range(1,n1+1): #正序加法
indexs.append(index + i) # 找出排在后面n1个的Index
for i in indexs: # 判断index的大学,避免类似最差学校这种后面没有其他学校的情况出现
if i < len(schoolName):
outputSchool1.append(schoolName[i])
except:
pass
# 输出具体推荐的学校
print('\n在全国,评分在 ' + inputSchool + ' 前面的学校:', end='') # 前面的学校
if len(outputSchool0) == 0: # 证明为空列表
print('无')
else:
for each in outputSchool0:
print(each,' ',end='')
print('\n在全国,评分在 ' + inputSchool + ' 后面的学校是: ',end='') # 后面的学校
if len(outputSchool1) == 0: # 证明为空列表
print('无')
else:
for each in outputSchool1:
print(each,' ',end='')
else:
school = [x for x in datasSorted if inputSchool == x[0]][0] #找出输入学校的具体信息
schools = [x for x in datasSorted if x[1] == province] #找出当前省份的所有学校
if school not in schools: #判断输入的学校是否在这个省份的列表中,作用是进行评分的排序
schools.append(school) #加入学校,方便按评分排序
schools = sorted(schools, key=(lambda x: x[24]), reverse=True) # 数据按评分进行一次排序,由大到小,16是评分一栏的Index
schoolName = [x[0] for x in schools] #找出所有的学校名字
index = schoolName.index(inputSchool) #找出输入学校在数据中的Index
#输出评分排在输入学校前面的那些学校
try:
indexs = []
for i in range(n0, 0, -1): # 倒序减法
indexs.append(index - i) # 找出排在前面n0个的Index
for i in indexs: # 判断index的大学,避免类似清华大学这种前面没有其他学校的情况出现
if i >= 0:
outputSchool0.append(schoolName[i])
except:
pass
try:
indexs = []
for i in range(1, n1 + 1): # 正序加法
indexs.append(index + i) # 找出排在后面n1个的Index
for i in indexs: # 判断index的大学,避免类似最差学校这种后面没有其他学校的情况出现
if i < len(schoolName):
outputSchool1.append(schoolName[i])
except:
pass
#输出具体推荐的学校
print('\n在',province,',评分在 ' + inputSchool + ' 前面的学校:',end='') #前面的学校
if len(outputSchool0) == 0: #证明为空列表
print('无')
else:
for each in outputSchool0:
print(each,' ',end='')
print('\n在',province,',评分在 ' + inputSchool + ' 后面的两个学校是: ',end='') #后面的学校
if len(outputSchool1) == 0: #证明为空列表
print('无')
else:
for each in outputSchool1:
print(each,' ',end='')
outputSchool = sum([outputSchool0, outputSchool1], [])
return outputSchool
# # 1:用户端输入数据
# inputSchool = input("请输入你要查找的学校(如:佛山科学技术学院):")
# while inputSchool not in [x[0] for x in datasSorted ]: #判断输入学校是否正确
# inputSchool = input("输入学校不存在,请重新输入学校:")
#
# province = input('请输入要选择的省份,如:广东,北京,全国等(默认为上面学校的省份):')
# while province not in [x[1] for x in datasSorted ]+['全国','']: #判断输入省份是否正确
# province = input("省份输入格式有误或省份不存在:")
#
# if province == '': #如果不进行输入,默认为上面学校的省份
# province = [data[1] for data in datasSorted if inputSchool == data[0]][0]
#
#
# # 2:主函数,参数为:输入的学校,输入的省份,全国各地学校的数据
# running(inputSchool,province,datasSorted)
没有合适的资源?快使用搜索试试~ 我知道了~
python高考志愿推荐系统
共126个文件
py:74个
png:12个
html:11个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
5星 · 超过95%的资源 18 下载量 153 浏览量
2023-04-20
10:24:58
上传
评论 14
收藏 4.51MB ZIP 举报
温馨提示
python高考志愿推荐系统 仅供学习交流及一切非盈利用途,禁止商用。
资源推荐
资源详情
资源评论
收起资源包目录
python高考志愿推荐系统 (126个子文件)
bootstrap.css 143KB
bootstrap.min.css 118KB
bootstrap-theme.css 26KB
bootstrap-theme.min.css 23KB
分数线+评分2.csv 352KB
2014-2018大学分数线newdatas.csv 346KB
s.csv 231KB
datas2.csv 213KB
major_data(6).csv 13KB
glyphicons-halflings-regular.eot 20KB
one_school.html 4KB
recommend_profession.html 3KB
school_list.html 3KB
index.html 3KB
base.html 2KB
recommend_school.html 2KB
test.html 1KB
register.html 933B
login.html 840B
student_info.html 833B
analysis.html 770B
favicon.ico 4KB
3.jpg 70KB
1.jpg 69KB
2.jpg 58KB
jquery-3.3.1.js 265KB
jquery-3.3.1.min.js 85KB
bootstrap.js 69KB
bootstrap.min.js 36KB
npm.js 496B
bootstrap.min.css.map 529KB
bootstrap.css.map 380KB
bootstrap-theme.css.map 47KB
bootstrap-theme.min.css.map 25KB
index.png 860KB
one_school.png 67KB
recommend_school.png 60KB
recommend_profession.png 54KB
school_info.png 54KB
school_info2.png 47KB
register.png 17KB
student_info.png 8KB
login.png 5KB
test2.png 4KB
test1.png 4KB
test.png 4KB
views_function.py 5KB
views.py 4KB
settings.py 3KB
views.py 3KB
views.py 3KB
insert_Question.py 3KB
Insert_school_info.py 3KB
forms.py 2KB
models.py 2KB
views.py 2KB
forms.py 2KB
forms.py 2KB
views.py 2KB
0001_initial.py 1KB
0001_initial.py 1KB
0001_initial.py 1KB
0005_one_school.py 1KB
models.py 1018B
urls.py 983B
0004_auto_20191124_1521.py 862B
0004_auto_20191209_1148.py 858B
models.py 809B
0001_initial.py 799B
Insert_profession_data.py 799B
0003_auto_20191125_1013.py 695B
0004_auto_20191124_1450.py 691B
models.py 687B
0002_profession_hot.py 676B
0002_profession_hot.py 667B
manage.py 637B
0006_school_score.py 584B
0001_initial.py 492B
0007_one_school_pictures.py 439B
0003_auto_20191124_1430.py 436B
wsgi.py 411B
0002_auto_20191118_2017.py 355B
urls.py 354B
0003_delete_profession_hot.py 303B
0002_delete_re_school.py 296B
models.py 283B
urls.py 253B
urls.py 223B
admin.py 219B
urls.py 200B
urls.py 157B
admin.py 125B
admin.py 121B
apps.py 114B
admin.py 113B
apps.py 106B
apps.py 96B
apps.py 83B
apps.py 83B
admin.py 63B
共 126 条
- 1
- 2
GeekyGuru
- 粉丝: 1616
- 资源: 1099
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
- 3
- 4
前往页