一行数字,第一个数字是一共有多少数字需要比较,需要在这些数字中得出出现次数最多的数字,输出该数字和出现次数,但是通过下列代码只能得出2 2,不知道哪里出了问题,示例如下
10 3 2 -1 5 3 4 3 0 3 2
s=input().split()
l=int(s[0])+1
del s[0]
a=list(s)
for i in a:
sum=0
for j in a:
for k in a:
if i==j==k:
sum+=1
print(i,sum)
s = input().split()
from collections import Counter
res = Counter(s[1:]).most_common(1)[0]
print(res[0], res[1])
我刚刚试了一下也不行
先贴正确的
s = input().split()
counts = [0,0]
s.pop(0)
for i in s :
if s.count(i) >=counts[1] :
counts= [ i , s.count(i) ]
else :
pass
print('出现次数最多的是:{} 次数为{}'.format(counts[0],counts[1]))
结果
原始代码逻辑
s = input().split()
l = int(s[0]) + 1 ###无用变量
del s[0] ### 删除初始数字
a = list(s) ### s已经是list
tmp = []
for i in a:
sum = 0 ###每次遍历都会设为0.默认最后一次循环。此时i 为2
for j in a: ###
for k in a: ### 只有i 和j都为2时满足
if i == j == k: ###如果三个值相等/没有剔除同一值的问题
sum += 1 ### j为第一个或第二个2,k为第一个或第二个2 共四种情况,sum最终为4
print(i, sum) ### 所以最终输出为2,4
有用请采纳!
a = input("请输入:")
b = "hello"
c = a[0:5]
d = a.replace(c,b,1)
print(d + c)