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

简介: 【Python】如何求得任意N个整数的最大值与最小值

问题描述

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


解决方案

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

 

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语句块来捕获并处理异常。其基本语法结构如下所示:

 

try:
    可能产生异常的代码块

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


目录
相关文章
|
1月前
|
搜索推荐 索引 Python
【Leetcode刷题Python】牛客. 数组中未出现的最小正整数
本文介绍了牛客网题目"数组中未出现的最小正整数"的解法,提供了一种满足O(n)时间复杂度和O(1)空间复杂度要求的原地排序算法,并给出了Python实现代码。
68 2
|
4月前
|
索引 Python
Python 中寻找列表最大值位置的方法
本文介绍了Python中找列表最大值及其位置的三种方法:1) 使用内置`max()`和`index()`函数;2) 通过循环遍历;3) 利用`enumerate()`函数和生成器表达式。每种方法均附有示例代码,其中`enumerate()`方法在保证效率的同时代码更简洁。
173 2
|
21天前
|
算法 Serverless Python
使用 Python 查找整数中的数字长度
【8月更文挑战第27天】
16 5
|
2月前
|
存储 Python 容器
Python基础语法:变量和数据类型详解(整数、浮点数、字符串、布尔值)
变量和数据类型是Python编程的基础,理解这些概念对于编写高效和正确的代码至关重要。通过本文的介绍,希望你能对Python中的变量和常用数据类型有一个清晰的认识,并能够在实际编程中灵活运用这些知识。
|
1月前
|
Python
【Leetcode刷题Python】343. 整数拆分
LeetCode 343题 "整数拆分" 的Python解决方案,使用动态规划算法来最大化正整数拆分为多个正整数之和的乘积。
14 0
|
2月前
|
存储 Python 容器
Python基础:变量和数据类型详解(整数、浮点数、字符串、布尔值)
变量和数据类型是Python编程的基础,理解这些概念对于编写高效和正确的代码至关重要。通过本文的介绍,希望你能对Python中的变量和常用数据类型有一个清晰的认识,并能够在实际编程中灵活运用这些知识。
|
3月前
|
Python
在Python中,`range()`函数生成一个整数序列,用于循环迭代。
【6月更文挑战第19天】`Python`的`range()`函数生成整数序列,用于迭代。它接受`start`(默认0)、`stop`(不包含,右开)和`step`(默认1)参数。在`for`循环中,`range(5)`会输出0到4。若要包含结束值,需将`stop`设为`end+1`,如`range(1, 6)`将输出1到5。
55 1
|
2月前
|
存储 Python
语音输入,python数据类型,type()用来查看数据类型,数据类型转换,int(x)转整数,float(x)转换为浮点数,str(x),将对象转为字符串,标识符,标识符不允许使用关键字,关键字参考
语音输入,python数据类型,type()用来查看数据类型,数据类型转换,int(x)转整数,float(x)转换为浮点数,str(x),将对象转为字符串,标识符,标识符不允许使用关键字,关键字参考
|
3月前
|
Python
Python中列表和整数相乘
【6月更文挑战第3天】
74 4
|
4月前
|
存储 缓存 算法
Python中的整数类型
Python中的整数类型
33 2