寻找小水王

一、设计思路

输入相关ID信息,从文件导入

建立字典,便利的同时,如果字典里没有这个数字,建立相应的key,同时赋值1

如果已存在,则对相应key值+1

最后对字典遍历,用三个变量分别存储最大次大次次大ID的字符串同时用三个变量存储其key值,

达到不用排序数组的目的,相对优化的寻找出最大的三个数

二、代码

#print "Queen"
#writher gu peng
#edit date 20160518

f=file('三个小水王.txt')
lines = f.readlines()  #取全部数据
f.close()

#str1='lao 王五 ijn 85 lao 王五 ijn 46 lao 王五 ijn ijn lao 王五 lao ijn ijn lao 王五 32 2 ijn'
#print"please input number array"
#str1=raw_input()
print'打开的文件为:三个小水王.txt'
#str1=str1.split()
#print str1
array={0:0}
#print array
for i in lines:
    i=i.replace('
','')
    if(array.has_key(i)):
        array[i] = array[i]+1
    else:
        array[i] = 1


#print array
max_str='0'
max_amount=0
max_a=0
max_b=0
max_c=0
max_astr='null'
max_bstr='null'
max_cstr='null'
for i in array:
    if(array[i]>=max_c):
        if(array[i]<=max_b):
            max_c=array[i]
            max_cstr=i
        elif(array[i]<=max_a):
            max_cstr=max_bstr
            max_bstr=i
            max_c=max_b
            max_b=array[i]
        elif(array[i]>max_a):
            max_cstr=max_bstr
            max_bstr=max_astr
            max_astr=i
            max_c=max_b
            max_b=max_a
            max_a=array[i]
            
print "三个小水王为:"
print max_astr,max_bstr,max_cstr
#print max_a,max_b,max_c

三、截图

原文地址:https://www.cnblogs.com/Megau/p/5533935.html