一个python小测试引发的思考---python-list尽可能少用一些,程序复杂的话,可能出bug

简介: 一个python小测试引发的思考---python-list尽可能少用一些,程序复杂的话,可能出bug
math=[('xiaoming',6),('xiaohong',3)]
english=[('xiaoming',3),('xiaozhang',3)]
chinese=[('xiaohong',2),('xiaozhang',4)]
score=[math,english,chinese]
total_score=[('xiaoming',9),('xiaohong',5),('xiaozhang',7)]
my_total_score=[]
for i in score:
    for j in i:
        if len(my_total_score)>0:
            now_name,now_score=j
            my_total_score_name=[i[0] for i in my_total_score]
            if now_name not in my_total_score_name:
                my_total_score.append(j)
            else:
                for i in range(len(my_total_score)):
                    name_score=my_total_score[i]
                    this_name,this_score=name_score
                    if now_name==this_name:
                        my_total_score[i]=(this_name,this_score+now_score)
        if len(my_total_score)==0:
            my_total_score.append(j)
print(my_total_score)
print(my_total_score==total_score)

math,english,chinese里面是每个学生的成绩,score里面保存了每个学生的成绩,需要合并计算每个学生的总的成绩,保存到total_score里面,用这么一个简单的循环去实现,完全没有问题,不知道为什么在其他机器上用pycharm会出现问题?有可能是哪行代码写错了。这个实际上用字典去解决反而更加方便。


注:python并非完美语言,尽可能使用简单的语法,大家用的最多的,反而不容易出错。



目录
相关文章
|
1天前
|
存储 区块链 Python
怎么把Python脚本打包成可执行程序?
【6月更文挑战第3天】最近根据用户提的需求用python做了一个小工具,但是在给客户使用的时候不能直接发送python文件,毕竟让客户去安装python环境,那就离了大谱了。所以这时候就需要把多个py文件带着运行环境打包成EXE可执行文件。
8 1
|
1天前
|
搜索推荐 区块链 开发者
【python程序打包教程】PyInstaller一键打包Python程序为独立可执行exe文件
【python程序打包教程】PyInstaller一键打包Python程序为独立可执行exe文件
|
2天前
|
Python Windows
Python基础教程(第3版)中文版 第18章 程序打包 (笔记)
Python基础教程(第3版)中文版 第18章 程序打包 (笔记)
|
2天前
|
移动开发 测试技术 C语言
Python基础教程(第3版)中文版 第16章 测试基础(笔记)
Python基础教程(第3版)中文版 第16章 测试基础(笔记)
|
5天前
|
IDE 测试技术 持续交付
Python作为一种简洁、易读且功能强大的编程语言,其自动化测试和单元测试框架的丰富性和易用性为开发者提供了极大的便利
【6月更文挑战第10天】本文探讨了Python自动化测试与单元测试框架在提升代码质量和效率中的作用。Selenium、Appium和pytest是常用的自动化测试框架,分别支持Web和移动应用的测试。unittest是Python的标准单元测试框架,提供断言方法和测试组织结构。通过制定测试计划、编写高质量测试用例、持续集成与测试、以及有效利用测试报告,开发者能提高代码质量和开发效率。
23 1
|
5天前
|
调度 数据库 开发者
在Python编程中,并发编程和异步IO是两个重要的概念,它们对于提高程序性能和响应速度具有至关重要的作用
【6月更文挑战第10天】本文介绍了Python并发编程和异步IO,包括并发编程的基本概念如多线程、多进程和协程。线程和进程可通过threading及multiprocessing模块管理,但多线程受限于GIL。协程利用asyncio模块实现非阻塞IO,适合处理IO密集型任务。异步IO基于事件循环,能提高服务器并发处理能力,适用于网络编程和文件操作等场景。异步IO与多线程、多进程在不同任务中有各自优势,开发者应根据需求选择合适的技术。
18 0
|
8天前
|
存储 Python
Python3 数据类型详解:掌握数据基石,编写高效程序
Python3 数据类型详解:掌握数据基石,编写高效程序
|
10天前
|
监控 Python
15.Python 异常处理和程序调试
15.Python 异常处理和程序调试
14 1
|
10天前
|
Python
4.Python 程序结构
4.Python 程序结构
|
11天前
|
测试技术 Python
【Python自动化测试】:Unittest单元测试与HTMLTestRunner自动生成测试用例的好帮手
【Python自动化测试】:Unittest单元测试与HTMLTestRunner自动生成测试用例的好帮手
8 0