标题解释:
我并未涉及过任何大数据项目的开发,题目叫做大数据分析,是为了做seo。
如果我把标题写成数据统计,的确更贴合我这篇文章的意思
那大概这篇文章就石沉大海了。
我对大数据的理解只有很浅薄的一层,但是对于做这个小程序大概是足够了。
总体大的思路是每个题型都是一个独立的百分比,统计其中的选项最后分析出可能性最大的那个选项。
澄清:
这里的数据量很少,大数据肯定要以T为单位的分析。
这里的分析结果只能参考,实质作用会很小。
小到不如利用这些时间更努力的去复习。
所以我并不提倡用这种方法做题。
我只是觉得这里的思路很有意思,而且我可以实现,我觉得有意思的事情都会去立刻去实现。
程序思路:
##统计内容
##1.数学选择题 30道
##2.英语选择题 40道
##3.完形填空 20道
##4.阅读理解20道##统计06-19年真题卷子中选项百分比 通过大数据的方式做选择题
##统计数据总数
##1.数学选择题 14*30道=420道
##2.英语选择题 14*40道=560
##3.完形填空 14*20道=280
##4.阅读理解14*20道=280任务量最大的就是统计这些选项了,我有想过用ocr识别,ocr识别还是需要一张一张拍真题卷,而且当中可能会有识别错误。
罢了。
设计目的:
考试中总会出现不会写的题目,做一些选择题的时候 比起来选择 "看起来很像答案的选项" 倒不如使用数据分析后的答案
我一直都认为 知识>数据分析>感觉。
预计分数:
英语:
数据推导:20分/60分
自己实力:20分/40分阅读理解+作文10-15分/20分+选择题5/20分
合计35分/90分
合计英语最低分数:55分/150分
平均英语分数应该为60分/150分数学:
70-80分
共计最低总分=125分共计平均总分=140分目标分数150分 和我理想的还差25分 加油吧 还有44天
平均结果:
# 选择题
# ==========================
# A:143 B:151 C:138 D:128 合计:560
# A:25.5% B:27.0% C:24.6% D:22.9%
# ==========================
# 推荐选项百分比: 26.96428571428571 B
# 完形填空
# ==========================
# A:69 B:73 C:74 D:64 合计:280
# A:24.6% B:26.1% C:26.4% D:22.9%
# ==========================
# 推荐选项百分比: 26.42857142857143
# 阅读理解
# ==========================
# A:62 B:65 C:78 D:75 合计:280
# A:22.1% B:23.2% C:27.9% D:26.8%
# ==========================
# 推荐选项百分比: 27.857142857142858
# 改错
# ==========================
# A:17 B:26 C:28 D:19 合计:90
# A:18.9% B:28.9% C:31.1% D:21.1%
# ==========================
利用平均统计后的结果模拟做题
太蠢了,用平均值的方法做题,满分100分的题目最高是34分 放弃,使用另外一种思路
思路2:
06年第一题-07年第一题-08年第一题...2019年第一题 然后计算出概率最高的
06年第二题-07年第而题-08年第二题...2019年第二题 然后计算出概率最高的
...
06年第二十题-07年第二十题-08年第二十题...2019年第二题 然后计算出概率最高的
测试内容:
1.选择题前20题
2.完形填空20题
结论:
前20选择题 使用结论 模拟考试
年份:2006正确数10
年份:2007正确数7
年份:2008正确数7
年份:2009正确数6
年份:2010正确数7
年份:2011正确数13
年份:2012正确数7
年份:2013正确数5
年份:2014正确数7
年份:2015正确数11
年份:2016正确数8
年份:2017正确数11
年份:2018正确数12
年份:2019正确数5
得分区间:5~13
平均得分:8.2完形填空 使用结论 模拟考试
年份:2006正确数8
年份:2007正确数6
年份:2008正确数6
年份:2009正确数8
年份:2010正确数7
年份:2011正确数10
年份:2012正确数5
年份:2013正确数6
年份:2014正确数8
年份:2015正确数9
年份:2016正确数8
年份:2017正确数11
年份:2018正确数9
年份:2019正确数8
得分区间:14-22
平均得分:14.8总结:
前20选择题均为语法考察 后20道题为词组+固定搭配 可通过背诵掌握
前20选择题结论:避免有同学误入歧途影响考试 结论已经抹除完形填空20题结论:避免有同学误入歧途影响考试 结论已经抹除得分总结:最低得分:19/60平均得分:22/60最高得分:35/60缺点是需要背诵以上40个选项,如果不想背以上40个选择 可以记住以下结论
通过平均值计算出最高概率的选项:
避免有同学误入歧途影响考试 结论已经抹除
源码文件:
r4bbit.ini 06-2019年的答案 我放在里ini里自动读取 ini比txt舒服阿
20.ini 06-2019年的答案这里的选择题只有前20道 我为了方便直接又整了一个文件
choce.py 测试选择题
cloze.py 测试完形填空
[math]
2006=
2007=
2008=
2009=
2010=
2011=
2012=
2013=
2014=
2015=
2016=
2017=
2018=
2019=[english_question] ;这里是完整的选择题 40道
question_types=英语选择题
2006=aaaabccccdacccbbdcbacabccacacbbbadcdcddb
2007=cbbdcaacdadccbbbcbadbcadbbdbacddaabccbdc
2008=ddcbabdabdcdccddcbbdacdcdabcdcbcbccdcacd
2009=ddabdcdaccdcdbdabcdcabcacbcdadcaadbbcadc
2010=aadadcbdabaabdacbdaaabbbbdabdbbcadbddcda
2011=adadccdacbabbcabcbcdcbcbaabdcdbabababcab
2012=ccbbdcdbcbcdcaddddaacbabdcdbbddaaaddbbdc
2013=dbdabdadababddbaaaccbcbababddcdcdadbcccc
2014=acbabbcdaccbadcbcacdcdaadbcacbbbdddcbacb
2015=cbaaddcabbbbccabdadabdabbababaddabbadbdb
2016=abaaabacacbbacbdabababcddbddaacddbbabbab
2017=cdaadacbcdcbbcdacbcdadbccdcbcabcaabccbca
2018=bbacdccabaaabcdadbadcabaadaaabbdacabdaaa
2019=acacbcdbcdbaadbbdadcacbdcdaacbbbcbbcccbd[cloze];完形填空
question_types=完形填空2006=cbdccadcdcbcbddbbcad
2007=bbacdadccaabcddaacbb
2008=adcddbcacabcdcabdbab
2009=bbcdaabddcbabcbdcaca
2010=cdacadbbdcabddcabacd
2011=bcdadacadcbabdacabcc
2012=bdcabddcabcbdbcbcada
2013=acadacbdcbadacbdbabd
2014=bcadbdcbccacbcdbadcc
2015=acbdbacbacdcbbccaada
2016=aaadcbadcdcbbcadccbd
2017=accbbdacdabbabdaadcd
2018=acabdcacdbabdbbadcab
2019=bdcbdcaababdbbabccbd[read];阅读理解
question_types=阅读理解
2006=ddabcbcdaccbbcdbdcbc
2007=dabcdacdcddbdaacdcbd
2008=ccbcdbadcadcadcbbddc
2009=cbaabbacdbcacabcbcad
2010=dcdacdcbcabadcbcaddb
2011=cadcaacbbcbdadbcbdad
2012=ddabccadabdcababcacd
2013=cdbdcbdabdcbabaaddba
2014=dccabbdadcddcbaabcbc
2015=aaacdcbabddcacddbcba
2016=abadbcdcbcbabddcbdab
2017=cbbadcbcbadadbcaddcd
2018=dcabccbdccaaddccbaad
2019=cbdacdccddabccddbaac[error];改错
question_types=改错
2006=0
2007=0
2008=0
2009=0
2010=0 ;2006-2010年改错都没选择题了。
2011=bccbbacabc
2012=cdbddcbcdb
2013=babacaaccc
2014=bcadddcbac
2015=abbabbabcc
2016=bcdbdcdcba
2017=cdabddbcac
2018=cbacdcbddb
2019=dcabdcabcd
20.ini文件
[math]
2006=
2007=
2008=
2009=
2010=
2011=
2012=
2013=
2014=
2015=
2016=
2017=
2018=
2019=[english_question]
question_types=英语选择题
2006=aaaabccccdacccbbdcba
2007=cbbdcaacdadccbbbcbad
2008=ddcbabdabdcdccddcbbd
2009=ddabdcdaccdcdbdabcdc
2010=aadadcbdabaabdacbdaa
2011=adadccdacbabbcabcbcd
2012=ccbbdcdbcbcdcaddddaa
2013=dbdabdadababddbaaacc
2014=acbabbcdaccbadcbcacd
2015=cbaaddcabbbbccabdada
2016=abaaabacacbbacbdabab
2017=cdaadacbcdcbbcdacbcd
2018=bbacdccabaaabcdadbad
2019=acacbcdbcdbaadbbdadc[cloze];完形填空
question_types=完形填空2006=cbdccadcdcbcbddbbcad
2007=bbacdadccaabcddaacbb
2008=adcddbcacabcdcabdbab
2009=bbcdaabddcbabcbdcaca
2010=cdacadbbdcabddcabacd
2011=bcdadacadcbabdacabcc
2012=bdcabddcabcbdbcbcada
2013=acadacbdcbadacbdbabd
2014=bcadbdcbccacbcdbadcc
2015=acbdbacbacdcbbccaada
2016=aaadcbadcdcbbcadccbd
2017=accbbdacdabbabdaadcd
2018=acabdcacdbabdbbadcab
2019=bdcbdcaababdbbabccbd[read];阅读理解
question_types=阅读理解
2006=ddabcbcdaccbbcdbdcbc
2007=dabcdacdcddbdaacdcbd
2008=ccbcdbadcadcadcbbddc
2009=cbaabbacdbcacabcbcad
2010=dcdacdcbcabadcbcaddb
2011=cadcaacbbcbdadbcbdad
2012=ddabccadabdcababcacd
2013=cdbdcbdabdcbabaaddba
2014=dccabbdadcddcbaabcbc
2015=aaacdcbabddcacddbcba
2016=abadbcdcbcbabddcbdab
2017=cbbadcbcbadadbcaddcd
2018=dcabccbdccaaddccbaad
2019=cbdacdccddabccddbaac[error];改错
question_types=改错
2006=0
2007=0
2008=0
2009=0
2010=0 ;2006-2010年改错都没选择题了。
2011=bccbbacabc
2012=cdbddcbcdb
2013=babacaaccc
2014=bcadddcbac
2015=abbabbabcc
2016=bcdbdcdcba
2017=cdabddbcac
2018=cbacdcbddb
2019=dcabdcabcd
from configparser import ConfigParser
#这个文件是用来统计完形填空的py
english_question_dict={'2006':"",'2007':"",'2008':"",'2009':"",'2010':"",'2011':"",'2012':"",'2013':"",'2014':"",'2015':"",'2016':"",'2017':"",'2018':"",'2019':""};
english_cloze_dict={'2006':"",'2007':"",'2008':"",'2009':"",'2010':"",'2011':"",'2012':"",'2013':"",'2014':"",'2015':"",'2016':"",'2017':"",'2018':"",'2019':""};
english_read_dict={'2006':"",'2007':"",'2008':"",'2009':"",'2010':"",'2011':"",'2012':"",'2013':"",'2014':"",'2015':"",'2016':"",'2017':"",'2018':"",'2019':""};
english_error_dict={'2006':"",'2007':"",'2008':"",'2009':"",'2010':"",'2011':"",'2012':"",'2013':"",'2014':"",'2015':"",'2016':"",'2017':"",'2018':"",'2019':""};
years_list=['2006','2007','2008','2009','2010','2011','2012','2013','2014','2015','2016','2017','2018','2019'];
#年份,{选项}
#英语选项题
test1_anwser_list=[];#print(f'奇数位:{l[::2]}\n偶数位:{l[1::2]}')def init_data(types): #题目类型#打开ini文件config = ConfigParser()config.read_file(open("20.ini")) #ini配置文件名称print("[.]载入%s文件 项%s"%("20.ini",types));for year in years_list:#print("[.]载入%s年"%(year));question_answer_str = config.get(types,year)#题目类型-年份#print(question_answer_str);question_answer_list = list(question_answer_str);#print("[.]载入完成,载入数量:",len(question_answer_str));#添加到字典中if (types =="english_question"):english_question_dict[year]=question_answer_list;elif(types =="cloze"):english_cloze_dict[year] = question_answer_list;elif(types =="read"):english_read_dict[year] = question_answer_list;elif (types=="error"):english_error_dict[year] = question_answer_list;#统计每一年中每一道题的数据 例如 06年第一题-2019年第一题中x的可能性最大 只先测试选择题
def test1():global test1_anwser_list;global english_cloze_dict;index = 0;while (index<20):a_sum=0;b_sum=0;c_sum=0;d_sum=0;for year in years_list:answer = english_cloze_dict[year][index]; #第index道题if answer=='a':a_sum = a_sum+1;if answer =='b':b_sum = b_sum+1;if answer == 'c':c_sum = c_sum+1;if answer == 'd':d_sum = d_sum+1;print("第{}题 A:{:.2f}%[个数:{}] B:{:.2f}%[个数:{}] C:{:.2f}%[个数:{}] D:{:.2f}%[个数:{}]".format(index,a_sum/14*100,a_sum,b_sum/14*100,b_sum,c_sum/14*100,c_sum,d_sum/14*100,d_sum))temp_list = [a_sum,b_sum,d_sum,c_sum];if(a_sum == max(temp_list)):print("A");test1_anwser_list.append("a");elif(b_sum==max(temp_list)):print("B");test1_anwser_list.append("b");elif(c_sum==max(temp_list)):print("C");test1_anwser_list.append("c");elif(d_sum==max(temp_list)):print("D");test1_anwser_list.append("d");#推荐选项index = index + 1;print("Test01结论:");print(test1_anwser_list);def Simulation_test01(): #测试结论1
#经过统计得出来的答案
#正确的个数
#得的分数global test1_anwser_list; #答案english_question_answer_correct=0;#正确数global english_cloze_dict;for year in years_list:english_question_answer_correct=0;index = 0;for anwser in english_cloze_dict[year]:if(test1_anwser_list[index] == anwser):#print(test1_anwser_list[index]);#print(anwser);english_question_answer_correct = english_question_answer_correct + 1;index = index + 1;print("年份:{}正确数{}".format(year,english_question_answer_correct)); #找出答案的个数#全局统计 统计06-2019年 累加百分比
def load_ini():types = ['english_question','cloze','read','error'];for i in types:init_data(i);def main():load_ini();test1();Simulation_test01();if __name__ == '__main__':main();
from configparser import ConfigParser#这个python文件是用来测试选择题前20的 配置文件用的20.ini 其中只有总数为20的选择题
english_question_dict={'2006':"",'2007':"",'2008':"",'2009':"",'2010':"",'2011':"",'2012':"",'2013':"",'2014':"",'2015':"",'2016':"",'2017':"",'2018':"",'2019':""};
english_cloze_dict={'2006':"",'2007':"",'2008':"",'2009':"",'2010':"",'2011':"",'2012':"",'2013':"",'2014':"",'2015':"",'2016':"",'2017':"",'2018':"",'2019':""};
english_read_dict={'2006':"",'2007':"",'2008':"",'2009':"",'2010':"",'2011':"",'2012':"",'2013':"",'2014':"",'2015':"",'2016':"",'2017':"",'2018':"",'2019':""};
english_error_dict={'2006':"",'2007':"",'2008':"",'2009':"",'2010':"",'2011':"",'2012':"",'2013':"",'2014':"",'2015':"",'2016':"",'2017':"",'2018':"",'2019':""};
years_list=['2006','2007','2008','2009','2010','2011','2012','2013','2014','2015','2016','2017','2018','2019'];
#年份,{选项}
#英语选项题
test1_anwser_list=[];#print(f'奇数位:{l[::2]}\n偶数位:{l[1::2]}')def init_data(types): #题目类型#打开ini文件config = ConfigParser()config.read_file(open("20.ini")) #ini配置文件名称print("[.]载入%s文件 项%s"%("20.ini",types));for year in years_list:#print("[.]载入%s年"%(year));question_answer_str = config.get(types,year)#题目类型-年份#print(question_answer_str);question_answer_list = list(question_answer_str);#print("[.]载入完成,载入数量:",len(question_answer_str));#添加到字典中if (types =="english_question"):english_question_dict[year]=question_answer_list;elif(types =="cloze"):english_cloze_dict[year] = question_answer_list;elif(types =="read"):english_read_dict[year] = question_answer_list;elif (types=="error"):english_error_dict[year] = question_answer_list;#统计每一年中每一道题的数据 例如 06年第一题-2019年第一题中x的可能性最大 只先测试选择题
def test1():global test1_anwser_list;global english_question_dict;index = 0;while (index<20):a_sum=0;b_sum=0;c_sum=0;d_sum=0;for year in years_list:if year=="2019":continueanswer = english_question_dict[year][index]; #第index道题if answer=='a':a_sum = a_sum+1;if answer =='b':b_sum = b_sum+1;if answer == 'c':c_sum = c_sum+1;if answer == 'd':d_sum = d_sum+1;print("第{}题 A:{:.2f}%[个数:{}] B:{:.2f}%[个数:{}] C:{:.2f}%[个数:{}] D:{:.2f}%[个数:{}]".format(index,a_sum/14*100,a_sum,b_sum/14*100,b_sum,c_sum/14*100,c_sum,d_sum/14*100,d_sum))temp_list = [a_sum,b_sum,d_sum,c_sum];if(a_sum == max(temp_list)):print("A");test1_anwser_list.append("a");elif(b_sum==max(temp_list)):print("B");test1_anwser_list.append("b");elif(c_sum==max(temp_list)):print("C");test1_anwser_list.append("c");elif(d_sum==max(temp_list)):print("D");test1_anwser_list.append("d");#推荐选项index = index + 1;print("Test01结论:");print(test1_anwser_list);def Simulation_test01(): #测试结论1
#经过统计得出来的答案
#正确的个数
#得的分数global test1_anwser_list; #答案english_question_answer_correct=0;#正确数global english_question_dict;for year in years_list:english_question_answer_correct=0;index = 0;for anwser in english_question_dict[year]:if(test1_anwser_list[index] == anwser):#print(test1_anwser_list[index]);#print(anwser);english_question_answer_correct = english_question_answer_correct + 1;index = index + 1;print("年份:{}正确数{}".format(year,english_question_answer_correct)); #找出答案的个数#从ini文件中载入选择题答案
def load_ini():types = ['english_question','cloze','read','error'];for i in types:init_data(i);def main():load_ini();test1(); #方法1Simulation_test01(); #模拟考试方法1if __name__ == '__main__':main();
声明:本人代码赶时间写的比较快,很多时候都没有考虑什么维护性,什么xxx性的,跑起来就完事啦。python对👴来说就是一工具