寻找小水王
一、设计思路
输入相关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('\n','') 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
三、截图