题目
定义一个实数数组,数组的元素个数不低于十个,且存在重复的最大值和最小值。
(1)、编写python程序用for循环或while循环找出这些数中的最大数和最小数;
(2)、找出最大数和最小数的在改组数组中的位置或顺序;
思路
在展开思路之前特此说明,这不算一道难题,只是我刚入门python遇到的一道自己独立解决的程序。
因为之前学过c语言,所以拿到题目的第一时间我想的是,通过各个数之间的比较得到最大值和最小值。但又感觉不会这样麻烦,想到之前自学python基础知识的时候看到的有返回列表最大元素的函数和返回列表最小元素的函数,这一点很好的解决在在数组中寻找到最大数和最小数问题。
解决最大数和最小数在数组中的位置,我想到了遍历函数,遍历是按顺序遍历输出数组中的元素,那么我定义一个变量i=0,让每次遍历后i=i+1,这样当遍历输出的元素等于最大值和最小值是i值恰好是最大值 和最小值在数组中的位置。
话不多说,上代码
代码
numbers=[1,2.1,1.0,3.11,5.2,6.6,7,8,9,10,10.0]
#定义一个存放最小数的数组
min_numbers=[]
#定义一个存放最大数的数组
max_numbers=[]
#使用max()、min()函数求取列表最大值和最小值,并输出
min_number = min(numbers)
max_number = max(numbers)
print("数组中的最小数是:",min_number)
print("数组中的最大数是:",max_number)
i=0
for number in numbers:
i+=1
#当遍历到最小值时
if number==min_number:
min_numbers.append(i)
#当遍历到最大值时
elif number==max_number:
max_numbers.append(i)
print("最小数在数组中的顺序是:",min_numbers)
print("最大数在数组中的顺序是:",max_numbers)
结尾
在代码中我将注释表明的很清楚,如果有问题可以看一下注释理解。也可以留下你的问题,我上线时会回答。