Python学习
一、学前花絮
春节假期过去了,又要开始上班了。2025年如果说有一个工作让自己感觉满意的话,那就是持续输出了128篇关于“python学习”的文章。内容涉及基础知识、高级进阶及一些丰富的实践示例。感谢朋友们在过去的一年里对我的支持和鼓励,在2026年,希望我们一起能够把python学习坚持下去。前几天聚会的时候,有个朋友提出他所在的单位面临一个问题,看我这个老程序能否解决?大致的需求是:他们单位类似一个专门杀菌消毒的工厂,为很多不同种类的产品消毒。这些产品因为是不同的厂家生产的,所以规格不同,装在不同大小的包装盒里面。具体到每个厂家可以固定一个尺寸,比如说体积是固定的。在他们这个专门杀菌消毒的工厂也有一种箱子用来装来自各个工厂的不同size的包装盒,而此工厂的箱子也可以简化为立方体体积。问题来了,比如每个批次的产品要消毒,那么这个批次的厂家关联的产品是需要提前选择的(可以让用户输入本批次的厂家号码--对应着包装盒的size),当用户输入完毕,就要给出消毒工厂的箱子到底能装多少个上述工厂的产品包装盒进行消毒?凭我的直觉,这是一个排列组合的问题,更具体说是不同大小的盒子如何装入一个大箱子的问题。我们暂时可以简化盒子的形状为立方体(如果实际中是长方体,再进行程序优化)。可以初步设定10个工厂,每个工厂1种产品、1种size的包装盒(可以简化为立方体体积)。那么对于python程序就相对清晰了,实际上是在计算他们单位的大箱子能装多少个不同工厂的小盒子。二、python程序示例
2.1 程序设计
- 预设 10 个产品工厂的包装盒体积(立方体体积 = 长 × 宽 × 高,简化为直接给定体积值)
- 对每个选中的工厂,计算「消毒箱体积 ÷ 产品包装盒体积」的整数结果(即最多能装的数量)
2.2 分步实现过程(附完整代码)
步骤 1:定义基础数据(工厂和箱子的体积)
- 10 个产品工厂的包装盒体积(用字典存储,键 = 工厂编号,值 = 体积,单位统一为立方厘米)
- 消毒工厂箱子的固定体积(设定一个合理值,比如 10000 立方厘米)
以上程序非常简单,核心是用python的字典dict表示不同工厂id及包装盒size。这块内容可以根据实际情况进行调整。之所以用函数,是为了模块化,函数的返回值包括工厂这个字典及消毒工厂的箱子体积。步骤 2:获取用户输入的批次工厂编号
需要实现:
- 提示用户输入本批次要消毒的工厂编号(支持多个,用逗号分隔)
- 验证输入的合法性(必须是 1-10 的数字,不能是其他字符)
代码实现:
以上程序实际上是在解决输入问题,比如这批次到底是有哪几个工厂(用之前的工厂id表示),在输入的时候是否合规?为了避免错误输入,比如按键错了不是数字等问题,在检验合法的情况下把用户输入的带逗号分隔的数字(工厂id)存入列表。也是用函数实现,返回值就是这个列表,表示本批次的工厂id。步骤 3:计算每个工厂的装箱数量
核心逻辑:装箱数量 = 消毒箱体积 ÷ 产品包装盒体积(向下取整,因为不能装半个包装盒)需要注意:如果产品包装盒体积大于消毒箱体积,装箱数量为 0(无法装下)
代码实现:
以上代码的核心其实就是那个整除//,消毒箱子size与工厂的产品盒子进行整除得到一个整数。因为不可能装半个盒子,所以一定是整数。步骤 4:输出装箱结果
将计算结果以清晰的格式输出,让用户一目了然
代码实现:
以上代码实际上是为了规范输出的结果,封装成函数的好处是便于以后根据需要进行修改。这也是编程的一个好习惯:解耦,从逻辑上讲,这个输出完全可以放到上面,因为上面的步骤已经计算出来了。解耦的好处在于不同的函数处理不同的逻辑,便于实际工作中的修改和完善。步骤 5:整合所有步骤的主函数
将上述 4 个步骤整合,形成完整的可执行程序
完整代码:
以上main主函数也是模块化的好习惯,初学者完全可以不用main。但用函数封装显然在程序结构上更清晰。否则都写在运行程序里面,会显得很臃肿。2.3 运行结果
以上就是程序运行之后,用户需要输入本批次到底有哪几个工厂的盒子(用工厂id表示),然后根据消毒工厂的箱子大小计算出到底能装多少。2.4 扩展说明
细心的朋友会发现,以上程序虽然输出结果了,但可能过于简化了实际情况。比如实际的盒子有可能不是立方体而是长方体,再有一个大箱子要混装多个工厂的盒子,而不是只装一种工厂的盒子。
那么,这就是典型的需要进一步细化并更新的情况。比如可以做以下调整:
- 把「体积」替换为「长 × 宽 × 高」的实际尺寸,计算装箱数量时考虑空间摆放(比如不能斜着放)。
- 增加批量计算(比如同时计算多个消毒箱的总装箱量)。
- 这个程序的架构改为BS结构,以web界面实现用户选择及定义工厂id、名称、盒子size等信息。
三、小结
对于python学习,我们既要学习python语法及各种模块,也要根据实际问题进行练习。比如之前针对学生阶段性考试编写的成绩排名以及个人学习汇总网站等。2026 农历马年,让我们保持热爱,持续学习 Python。用知识与行动,把平凡的日子过得充满意义。愿我们在 Python 的学习路上稳扎稳打,日日精进,让每一段时光都不负自己。