比较不同的编程语言如何解决同一个问题是一个很有趣的事情,也很有指导意义。接下来,我们就来讲一讲如何用 Python 来解决。
在我这一系列的 第一篇文章 里,我描述了这样子的一个问题,如何将一大批的救助物资分为具有相同价值的物品,并将其分发给社区中的困难住户。我也曾写过用不同的编程语言写一些小程序来解决这样子的小问题以及比较这些程序时如何工作的。
在第一篇文章中,我是使用了 Groovy 语言来解决问题的。Groovy 在很多方面都与 Python 很相似,但是在语法上她更像 C 语言和 Java。因此,使用 Python 来创造一个相同的解决方案应该会很有趣且更有意义。
使用 Python 的解决方案
使用 Java 时,我会声明一个工具类来保存元组数据(新的记录功能将会很好地用于这个需求)。使用 Groovy 时,我就是用了该语言的映射功能,我也将在 Python 使用相同的机制。
使用一个字典列表来保存从批发商处批发来的货物:
packs = [ {'item':'Rice','brand':'Best Family','units':10,'price':5650,'quantity':1}, {'item':'Spaghetti','brand':'Best Family','units':1,'price':327,'quantity':10}, {'item':'Sardines','brand':'Fresh Caught','units':3,'price':2727,'quantity':3}, {'item':'Chickpeas','brand':'Southern Style','units':2,'price':2600,'quantity':5}, {'item':'Lentils','brand':'Southern Style','units':2,'price':2378,'quantity':5}, {'item':