Python 一个数中最常出现的数

Python 一个数中最常出现的数,python,Python,目标是计算出长数字中最常见的数字。例如,213523432455555将返回5 print('Question 4') def most_frequent(number): analysisnumber=map(int,str(number)) returnvalue=[0,0,0,0,0,0,0,0,0,0] highest = 0 total2=0 for i in range(0,len(str(number))): returnvalue[analysisn

目标是计算出长数字中最常见的数字。例如,213523432455555将返回5

print('Question 4')



def most_frequent(number):
    analysisnumber=map(int,str(number))
    returnvalue=[0,0,0,0,0,0,0,0,0,0]
highest = 0
total2=0
for i in range(0,len(str(number))):
    returnvalue[analysisnumber[i]] = list(map(i,analysisnumber))
for i in range(0,20):
    if i < 10:
        if returnvalue[i] > highest:
            highest = returnvalue[i]
    if i > 10:
        if returnvalue[i-10] == highest:
            total2+=highest
print("The most frequent number",end="")
if total2 > highest:
    print("s are: ")
    for i in range(0,10):
        if returnvalue[i] == highest:
            print(i)
else:
    print(" is ", end="")
    for i in range(0,10):
        if returnvalue[i] == highest:
            print(i)
            break
number=int(input("Enter the number intended for analysis:"))
most_frequent(number)
错误。我希望能得到一些帮助

这就可以了,使用:

或者只需感谢@tobias_k:

>>> c.most_common(1)
[('2', 5)]

您使用的映射函数错误

returnvalue[analysisnumber[i]] = list(map(i,analysisnumber))
文档中要映射的第一个值是function:mapfunction,iterable


您为其提供了一个int i。

请添加有关错误的额外信息。发生在哪一行?将有一些带有错误消息的行号信息。检查那里到底发生了什么。大概你是说十进制?数字就是数字。您选择如何表示它不是数字的一部分。2^2^2==10000(二进制),16(十进制),20(八进制),10(十六进制),等等。文件/Users/fizzhazlt/Documents/TEST3.py,第106行,在最频繁的数字文件/Users/fizzhazlt/Documents/TEST3.py,第85行,在最频繁的返回值[analysisnumber[i]=listmapi,analysisnumber TypeError:“int”对象不可调用这是否意味着我必须下载计数器,或者默认情况下它是pyton 3.4.3中的计数器?@Fizzhaz,它的python标准。出于某种原因,当我导入它时,它声称print'sdafas'的语法无效?而不是max,只需使用c.most_common1。@Fizzhaz,这很奇怪。。。。检查你的代码,搜索那个打印
>>> c.most_common(1)
[('2', 5)]
returnvalue[analysisnumber[i]] = list(map(i,analysisnumber))