题目
显示任意输入 5 个数字中的最大值、最小值和平均值。
废话不多说,解决办法如下:
方法一
运用传统方法进行一一比对
具体代码展示如下
count = 5 a = 1 avg = 0 while a <= count: num = int(input('请输入第{}个数:'.format(a))) avg = avg + num if a == 1: max = min = num else: if num < min: min = num elif num > max: max = num a += 1 avg = avg/(a-1) print('最大值是:', max) print('最小值是:', min) print('平均值是:', avg)
或
s1 = input('请输入任意的5个整数,请用逗号隔开') xlist = s1.split(',') xlist = [int(xlist[i]) for i in range(len(xlist))] sum = 0 max = xlist[0] min = xlist[0] for i in range(5): sum = sum + xlist[i] if max < xlist[i]: max = xlist[i] if min > xlist[i]: min = xlist[i] print("最大值为:%d 最小值为:%d 平均值为:%f" % (max,min,sum/5))
方法二
运用列表来简化代码的量,从而提高代码质量。
num = [] sum = 0 for i in range(1, 6): a = int(input('请输入第{}个值:'.format(i))) sum = sum + a num.append(a) avg = sum/len(num) print('最小值是:',min(num)) print('最大值是:',max(num)) print('平均值是:',avg)
对于平均数是否有类似求最大值,最小值这样简单的求法,
答案是肯定有的,numpy.mean () 函数就可以在 Python 中得到一个列表的平均值,但是内置函数中没有此函数,需要安装numpy模块。在方法四有介绍
方法三
对方法一,二进行一些改进,增加一些功能,增加代码的宽度,增强用户体验,升华。
c = int(input('请问要输入几个数字:\n')) num = [] sum = 0 for i in range(1, c+1): a = int(input('请输入第{}个值:'.format(i))) sum = sum + a num.append(a) avg = sum/len(num) print('最小值是:',min(num)) print('最大值是:',max(num)) print('平均值是:',avg)
方法四
python具有一些强大的库,如内置函数,或别人写的函数库等。
这里运用的就是画图所用的numpy库
具体代码如下
import numpy as np count = int(input('请问要输入几个数字: \n')) num = [] sum = 0 for i in range(1, count+1): a = int(input('请输入第{}个值:'.format(i))) num.append(a) print('最小值是:',min(num)) print('最大值是:',max(num)) print('平均值是:',mean(num))
还可以用函数,类等方式来计算。
感谢大家,点赞,收藏,关注,评论!
祝大家五一快乐!