前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >算法创作|求任意N个整数中的最大值和最小值

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

作者头像
算法与编程之美
发布2021-03-30 14:50:36
2.1K0
发布2021-03-30 14:50:36
举报

问题描述

如何求得任意N个整数的最大值与最小值

解决方案

解决这个问题有三种常见思路,第一种思路比较简单粗暴,就是对用户输入的每个整数两两之间进行比较,直到找到最大的整数和最小的整数为止。第二种思路是将用户输入的整数放入一个空列表中,然后利用Python内置的max()函数和min()函数分别得到最大值和最小值。第三种思路与第二种思路类似,也是将用户输入的整数放入一个空列表,然后对列表进行排序,列表下标为0的数即为最小值,列表下标为N-1的数即为最大值。接下来让我们来演示一下第三种方法:

代码语言:javascript
复制
N = int(input('请输入你要输入整数的个数:'))

List = []

for i in range(N): #根据N来确定要执行多少次List.append

    List.append(int(input('请输入第%d个数:'%(i+1))))

List.sort()      #对列表内的数据排序

print('输入的%d个整数中最小的整数是%d'%(N,List[0]))

print('输入的%d个整数中最大的整数是%d'%(N,List[N-1]))

运行结果如下:

很好,这串代码可以完美运行。但在我们的实际操作中,用户难免会失误输入错误的数据类型,导致Python无法正常处理某一个或者一段代码的时候就终止运行并出现报错。

如下图:

这时候我们需要对代码进行调整,增强其处理异常数据的能力。这里我们使用try,except语句块来捕获并处理异常。其基本语法结构如下所示:

代码语言:javascript
复制
try:
     可能产生异常的代码块

except (Error1 as e) :
     处理异常的代码块1
 except (Error2 as e):
     处理异常的代码块2
 except (Exception):
     处理其它异常

将其与我们原来的代码结合后如下所示:

代码语言:javascript
复制
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个整数的最大值与最小值方法多种多样,其中,将用户输入的整数放入一个空列表,随后对列表进行排序,并增强其处理异常数据的能力使我们的代码更加高效有用!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-03-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 算法与编程之美 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档