通过循环结构深入理解最大值与最小值的查找

发布时间:2026/11/5 12:39:42
通过循环结构深入理解最大值与最小值的查找 目录1.引言2.寻找最大值3.寻找最小值4.空类型值None Type)1.引言在之前我们已经学习了如何使用max()和min()函数来比较大小这些函数对于处理简单的数据集非常方便。然而当我们面对大量数据时仅仅依靠这两个函数可能并不足够。在这种情况下我们可以借助循环结构通过逐个元素的比较来实现相同的目标。现在让我们来看一下如何使用循环来找到数据中的最大值和最小值。2.寻找最大值largerst_so_far -1 print(before, largerst_so_far) for the_num in [10,40,13,4,73,19]: if the_num largerst_so_far: largerst_so_far the_num print(largerst_so_far, the_num) print(after, largerst_so_far) #before -1 #10 10 #40 40 #40 13 #40 4 #73 73 #73 19 #after 73我们创建了一个名为largerst_so_far目前最大的变量并赋值为-1你应该有所注意到集合中的数字都为正数随后我们会创立一个迭代变量the_num这个变量会依次通10,40,13,4,73,19将这一区域的代码运行6次我们第一次遇到的数字是10这可比-1大多了所以依照循环我们将largerst_so_far-1更新为the_num10即largerst_so_far10继续4010更新再往下哦哦1340所以不更新同样的4不更新73更新19不更新输出73我们顺利的找到了集合当中的最大值也就是73这很容易吧你可以通过删去或者运用‘#’使得输出的结果更加清爽顺利找到了最大值那我们又该如何寻找最小值呢还有一种情况如果集合里面全是负数我们该怎么处理呢请你先试着修改上方最大值的代码试一下自己能否解决这个问题3.寻找最小值首先让我们对代码做一些修改把换成把large换成small做到这一步你已经很棒了让我们来试运行一下结果是4吗smallest_so_far -1 print(before, smallest_so_far) for the_num in [10,40,13,4,73,19]: if the_num smallest_so_far: smallest_so_far the_num print(smallest_so_far, the_num) print(after, smallest_so_far) #before -1 #-1 10 #-1 40 #-1 13 #-1 4 #-1 73 #-1 19 #after -1显然结果不是4我提供的代码是错的初始值是-1比集合中的任何一个数都要小所以输出的值是-1那我们错在哪里首先smallest代表不了任何东西如同我之前提及的一样它没有意义可以是x可以是y可以是任何东西仅仅改变变量名没有任何用我们代码中真正错误的地方在于“-1”那么什么值合适呢100那如果集合中都是三位数呢1,00010,000听着就很麻烦对吧4.空类型值None Type)-1并不是一个有意义的值它更像是一个旗帜flag告诉我们还没有进行循环现在让我们引入None类型None类型函数只有一个常量也就是它自己None我们可以把它理解为什么都不是什么都没有让我们尝试把初始值设定为None正如它的名字一样我们还没有见到过任何一个数字呢smallest_so_far None print(before, smallest_so_far) for the_num in [10,40,13,4,73,19]: if smallest_so_far is None: smallest_so_far the_num elif the_num smallest_so_far: smallest_so_far the_num print(smallest_so_far, the_num) print(after, smallest_so_far) #10 10 #10 40 #10 13 #4 4 #4 73 #4 19 #after 4首先我们让程序判断smallest_so_far是不是等于Noneis的使用要比更加的严格我们一般只在判断对错的情况下用is、is not好的是的我们将其更新赋值为the_num之后的代码更加的智能None意味着这是第一次的循环而在后面第二次第三次的循环中if永远不成立我们转而执行elif的指令直到找到最小值4直到完成对集合的循环

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询