手机版 | 登陆 | 注册 | 留言 | 设首页 | 加收藏
当前位置: 网站首页 > python教程 > 文章 当前位置: python教程 > 文章

python实例学习python实例属性与类属性方法python wxpython实例

时间:2022-07-22    点击: 次    来源:网络    作者:佚名 - 小 + 大

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()

上一篇:python实例化子类Python实例化如何让列左对齐python实例小游戏

下一篇:没有了

推荐阅读
声明 | 联系我们 | 关于我们
备案ICP编号  |   QQ:2151239526  |  地址:北京市东城区  |  电话:16605168200  |