题目如下:
说明:我的输入格式不一定跟原题一模一样,只是把功能实现了。
代码如下:
s = input("请输入元素:")
newlist = list(s.split()) # 取出每个元素,装入列表
dict1 = {} # 用字典来存储出现的数字及其对应出现的次数
for i in newlist:
if i in dict1:
dict1[i] += 1 # 如果已存在则个数加一
else:
dict1[i] = 1 # 如果不存在则为第一个
d2 = sorted(dict1.items(), key=lambda d:d[1],reverse=True) # 按照值排序,得到的是类似[('1',2),('6',1)]的形式
maxnum = d2[0][1] # 出现最多的次数是第一个元素对应的值
lresult = [] # 存放出现次数最多的数字
for first,second in d2:
if second == maxnum: # 如果这样的值有多个,存入列表当中
lresult.append(first)
print(min(lresult)) # 输出值最小的一个
运行结果:
代码可能不是最简洁的,欢迎各位大佬批评指正。