算法创作|求任意N个整数中的最大值和最小值

问题描述如何求得任意N个整数的最大值与最小值解决方案解决这个问题有三种常见思路,第一种思路比较简单粗暴,就是对用户输入的每个整数两两之间进行比较,直到找到最大的整数和最小的整数为止。第二种思路是将用户输入的整数放入一个空列表中,然后利用Python内置的max()函数和min()函数分别得到最大值和最小值。第三种思路与第二种思路类似,也是将用户输入的整数放入一个空列表,然后对列表进行排序,列表下标为0的数即为最小值,列表下标为N-1的数即为最大值。接下来让我们来演示一下第三种方法:N = int(input('请输入你要输入整数的个数:'))List = []for i in range(N): #根据N来确定要执行多少次List.appendList.append(int(input('请输入第%d个数:'%(i+1))))List.sort()      #对列表内的数据排序print('输入的%d个整数中最小的整数是%d'%(N,List[0]))print('输入的%d个整数中最大的整数是%d'%(N,List[N-1]))运行结果如下:

很好,这串代码可以完美运行。但在我们的实际操作中,用户难免会失误输入错误的数据类型,导致Python无法正常处理某一个或者一段代码的时候就终止运行并出现报错。如下图:这时候我们需要对代码进行调整,增强其处理异常数据的能力。这里我们使用try,except语句块来捕获并处理异常。其基本语法结构如下所示:try:可能产生异常的代码块except (Error1 as e) :处理异常的代码块1except (Error2 as e):处理异常的代码块2except (Exception):处理其它异常将其与我们原来的代码结合后如下所示:try:N = int(input('请输入你要输入数字的个数:'))except  Exception as result:  #捕获异常并返回异常类型print('输入错误,请重新输入\n',result)else:   #无异常时继续运行以下代码块List = []for i in range(N):try:List.append(int(input('请输入第%d个数:'%(i+1))))except Exception as result:print('输入错误,请重新输入\n',result)List.sort()print('输入的%d个整数中最小的整数是%d'%(N,List[0]))print('输入的%d个整数中最大的整数是%d'%(N,List[N-1]))异常处理如图所示:

加入处理异常的语句块后我们的代码更加健壮了!结语求得任意N个整数的最大值与最小值方法多种多样,其中,将用户输入的整数放入一个空列表,随后对列表进行排序,并增强其处理异常数据的能力使我们的代码更加高效有用!实习编辑:衡辉作者:祝菱晞、唐雷清、刘紫轩

(0)

相关推荐

  • 上次发过吧,最大值和最小值一起求下哈

    上次发过吧,最大值和最小值一起求下哈

  • 一个有意思的绝对值的题目

    努力做最好的中小学数学教育公众号 努力做一个最丑的公众号 来都来了,敬请关注"贼叉",或者直接搜doubimather,逗逼数学人. 更加欢迎置顶. 今天讲课,有个题目很有意思.讲 ...

  • 数字黑洞(上):三位数的黑洞

    黑洞是一个物理学概念,指的是一个巨大的引力场,连光都难以逃脱,因此,人类无法通过光的反射来证实它的存在. 数字黑洞借用了这个概念,指的是一个数字,经过多次变化和计算之后,总能得出某个固定的值.举例来说 ...

  • 2021西班牙数学奥林匹克 中文翻译

    第一天 1.点为半径为 的某个球的球心. 在球面上有三点, 满足为边长为的正三角形. 设在点所在的平面上的投影为点.过作的垂线, 设为它与球的两个交点之一. 求的大小. 2.对给定正整数, 定义 为方 ...

  • Python基础学习笔记(八)异常处理

    本节知识大纲: 本节知识大纲 一.概念 什么是异常? 在程序运行过程中发生错误和意外,这些错误和意外往往不是语法错误. 定义:语法错误不属于异常,因为语法错误没办法让软件正常运行:正确情况下的异常指的 ...

  • 算法创作|奇妙的回文整数

    问题描述判断回文整数:给你一个整数x,如果x是一个回文整数,返回true :否则,返回false.回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数.例如,121 是回文,而 123 不是. ...

  • EXCEL中如何动态显示图表中的最大值和最小值?

    今天来谈一下图表中最大值最小值的如何动态显示 一般我们可以通过手动寻找最大和最小,然后单独着色以区别 但是这种,后续数据一变动,又需要手动调整 今天就是要分享如何自动更新的问题 动画演示效果 详细制作 ...

  • 算法创作 | 0到n-1中缺失的数字问题解决方法

    问题描述一个长度为n-1的递增排序数组中的所有数字都是唯一的,并且每个数字都在范围0-n-1之内.在范围0-n-1内的n个数字中有且只有一个数字不在该数组中,请找出这个数字.示例1:输入:[0,1,3 ...

  • ​理想和欲求都写在八字中,你会逐渐变成一个什么样的人,来看月令

    ​理想和欲求都写在八字中,你会逐渐变成一个什么样的人,来看月令   我觉得有一句话说的非常正确,就是"你能够被什么事物打动,什么就是命,并且这些能够打动你的事物,最终都将会成为你终生追逐 ...

  • 算法创作|神奇语言问题解决方法

    问题描述一位同学正在学习一门神奇的语言,其中的单词都是由小写英文字母组成,有些单词很长,而这位同学一直记不住,他准备不再完全记忆这些单词,而是根据单词中哪个字母出现的最多来分辨单词,现在请帮助这位同学 ...

  • 算法创作|规则数列计算解决方法

    问题描述如下图所示,小明用从 1 开始的正整数"蛇形"填充无限大的矩阵.1 2 6 7 15 -3 5 8 14 -4 9 13 -10 12 -11 --(1)容易看出矩阵第二行 ...

  • 算法创作|阶梯电价问题解决方法

    问题描述为了提倡居民节约用电,某省电力公司执行"阶梯电价",安装一户一表的居民用户电价分为两个"阶梯":月用电量50千瓦时(含50千瓦时)以内的,电价为0.53 ...

  • 求每隔n行中的单元格之和

    隔1行求和.每隔2行求和.每隔3行求和,等等. 图1 从图1的示例可知,如果我们每隔1行求和,有求奇数行或者偶数行的单元格之和两种情况,其中,奇数行求和的数组公式为: =SUM(IF(MOD(ROW( ...

  • 算法创作|找出游戏的获胜者问题解决方法

    问题描述共有 n 名小伙伴一起做游戏.小伙伴们围成一圈,按 顺时针顺序 从 1 到 n 编号.确切地说,从第 i 名小伙伴顺时针移动一位会到达第 (i+1) 名小伙伴的位置,其中 1 <= i ...