python实例学习python实例属性与类属性方法python wxpython实例
下载地址 https://share.weiyun.com/OvviwGnZ
资料目录 Python练习集100题 100道Python面试题 Python100经典练习题 Python经典题目100道题 Python题库(已收录100道真题) Python100例视频讲解课程 菜鸟教程Python教程100例 130道python练习题,涵盖基础内容的方方面面 Python考试题复习知识点试卷试题 PYTHON测试题和答案 python第一阶段考试题 Python经典面试题和答案解析 python期末考试复习试卷 python习题集大全(附答案解析) 老男孩Python全栈7期练习题(面试真题模拟) 尚观python第一阶段考试(面试真题模拟) 《Python程序设计基础与应用》习题答案 《Python快速编程入门》——课后题答案 Python编程基础张健 , 张良均课后习题及答案 Python程序设计基础及实践(慕课版)郭炜习题答案 Python程序设计基础习题答案与分析 python基础试题(含答案)
举例 学生成成绩分析 题目要求 文件score.txt中存储了学生的考试信息,内容如下 小明,98,96 小刚,90,94 小红,90,94 小王,98,96 小刘,80,90 小赵,90,96 第二列是数学成绩,第三列是语文成绩 请写程序分析: 1. 哪些同学语文成绩是相同的? 2. 哪些同学数学成绩是相同的? 3. 哪些同学语文和数学成绩都是相同的? 4. 总分最高的同学是谁,分数是多少? 5. 总分的平均分是多少? ### 思路分析 都是简单的数据统计分析,谈不上思路,跟着代码过一遍,相信你可以理解代码的意图和作用 ### 示例代码 def read_file(filename): """ 读取文件数据 :param filename: :return: """ f = open(filename, 'r', encoding='utf-8') datas = f.readlines() datas = [item.strip() for item in datas] f.close()
return datas
def analse_score(): datas = read_file('score.txt') stu_lst = []
for data in datas: arrs = data.split(',') name = arrs[0] shuxue = int(arrs[1]) yuwen = int(arrs[2]) stu_lst.append({'name': name, 'shuxue': shuxue, 'yuwen': yuwen})
yuwen_dict = {} shuxue_dict = {} ys_dict = {} max_score_sum = 0 stu_score_sum = 0 for stu in stu_lst: name = stu['name'] shuxue = stu['shuxue'] yuwen = stu['yuwen'] score_sum = shuxue + yuwen stu_score_sum += score_sum
if score_sum > max_score_sum: max_score_sum = score_sum
yuwen_dict.setdefault(yuwen, []) yuwen_dict[yuwen].append(name)
shuxue_dict.setdefault(shuxue, []) shuxue_dict[shuxue].append(name)
ys_dict.setdefault((shuxue, yuwen), []) ys_dict[(shuxue, yuwen)].append(name)
for yuwen, name_lst in yuwen_dict.items(): if len(name_lst) > 1: print(yuwen, name_lst)
print("*"*20)
for shuxue, name_lst in shuxue_dict.items(): if len(name_lst) > 1: print(shuxue, name_lst)
print("*"*20) for score, name_lst in ys_dict.items(): sum_score = sum(score) if sum_score == max_score_sum: print("总分最高的学生", name_lst, score) if len(name_lst) > 1: print(score, name_lst)
print(round(stu_score_sum/len(stu_lst), 2))
if __name__ == '__main__': analse_score()
|