相信看到这篇博客的小伙伴都会找出最大值,但是第二大怎么找呢?前三大的数据怎么找呢?看了这篇文章相信你能理解的
上代码:
num=eval(input("请输入数据个数"))
print(num)
max=eval(input())
mid=eval(input())
#先判断max与mid的大小
if max < mid:
max,min=mid,max
#循环。情况一:max交换一次,mid必定交换一次。情况二:max不交换,但是mid交换,情况三:都不交换,直接跳过
for i in range(num-2) :
date=eval(input())
if max<date:
mid=max
max=date
if max>date :
if mid<date :
mid,date=date,mid
if mid>date :
pass
print("第一大的数是:",max)
print("第二大的数是:",mid)
如果是前三个数呢?
我们可以试想:交换一次最大值,第二大和第三大的数据必定交换。交换一次第二大的数,第三大的数必定交换。第三大的数交换,其他不变。照这个思路试一试吧!
上代码:
num=eval(input("请示数据个数"))
print(num)
max=eval(input())
mid=eval(input())
min=eval(input())
#转换一下,使得max最大,mid第二大,min第三大
if max<min :
min,max=max,min
if max<min:
max,min=min,max
if mid<min :
mid,min=min,mid
for i in range(num-3):
date=eval(input())
if max<date :
min=mid
mid=max
max=date
if max>date :
if mid<date :
min=mid
mid=date
if mid>date :
if min<date :
min=date
if min>date :
pass
print("最大的数是:",max)
print("第二大的数是:",mid)
print("第三大的数是:",min)
学习需要积淀,各位加油