一个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 Web开发的安全测试需要具备哪些知识?
学习Python Web开发的安全测试需要具备哪些知识?
34 4
|
5天前
|
IDE 测试技术 开发工具
10个必备Python调试技巧:从pdb到单元测试的开发效率提升指南
在Python开发中,调试是提升效率的关键技能。本文总结了10个实用的调试方法,涵盖内置调试器pdb、breakpoint()函数、断言机制、logging模块、列表推导式优化、IPython调试、警告机制、IDE调试工具、inspect模块和单元测试框架的应用。通过这些技巧,开发者可以更高效地定位和解决问题,提高代码质量。
65 8
10个必备Python调试技巧:从pdb到单元测试的开发效率提升指南
|
8天前
|
C语言 Python
[oeasy]python054_python有哪些关键字_keyword_list_列表_reserved_words
本文介绍了Python的关键字列表及其使用规则。通过回顾`hello world`示例,解释了Python中的标识符命名规则,并探讨了关键字如`if`、`for`、`in`等不能作为变量名的原因。最后,通过`import keyword`和`print(keyword.kwlist)`展示了Python的所有关键字,并总结了关键字不能用作标识符的规则。
25 9
|
11天前
|
安全 API C语言
Python程序的安全逆向(关于我的OPENAI的APIkey是如何被盗的)
本文介绍了如何使用C语言编写一个简单的文件加解密程序,并讨论了如何为编译后的软件添加图标。此外,文章还探讨了Python的.pyc、.pyd等文件的原理,以及如何生成和使用.pyd文件来增强代码的安全性。通过视频和教程,作者详细讲解了生成.pyd文件的过程,并分享了逆向分析.pyd文件的方法。最后,文章提到可以通过定制Python解释器来进一步保护源代码。
39 6
|
16天前
|
数据挖掘 大数据 数据处理
python--列表list切分(超详细)
通过这些思维导图和分析说明表,您可以更直观地理解Python列表切分的概念、用法和实际应用。希望本文能帮助您更高效地使用Python进行数据处理和分析。
33 14
|
18天前
|
数据挖掘 大数据 数据处理
python--列表list切分(超详细)
通过这些思维导图和分析说明表,您可以更直观地理解Python列表切分的概念、用法和实际应用。希望本文能帮助您更高效地使用Python进行数据处理和分析。
31 10
|
21天前
|
算法 Java 测试技术
Benchmark.NET:让 C# 测试程序性能变得既酷又简单
Benchmark.NET是一款专为 .NET 平台设计的性能基准测试框架,它可以帮助你测量代码的执行时间、内存使用情况等性能指标。它就像是你代码的 "健身教练",帮助你找到瓶颈,优化性能,让你的应用跑得更快、更稳!希望这个小教程能让你在追求高性能的路上越走越远,享受编程带来的无限乐趣!
74 13
|
23天前
|
IDE 程序员 开发工具
Python编程入门:打造你的第一个程序
迈出编程的第一步,就像在未知的海洋中航行。本文是你启航的指南针,带你了解Python这门语言的魅力所在,并手把手教你构建第一个属于自己的程序。从安装环境到编写代码,我们将一步步走过这段旅程。准备好了吗?让我们开始吧!
|
24天前
|
敏捷开发 测试技术 持续交付
自动化测试之美:从零开始搭建你的Python测试框架
在软件开发的马拉松赛道上,自动化测试是那个能让你保持节奏、避免跌宕起伏的神奇小助手。本文将带你走进自动化测试的世界,用Python这把钥匙,解锁高效、可靠的测试框架之门。你将学会如何步步为营,构建属于自己的测试庇护所,让代码质量成为晨跑时清新的空气,而不是雾霾中的忧虑。让我们一起摆脱手动测试的繁琐枷锁,拥抱自动化带来的自由吧!
|
5天前
|
Shell 开发工具 Python
如何在vim里直接运行python程序
如何在vim里直接运行python程序