【发布时间】:2020-11-21 21:41:08
【问题描述】:
我正在编写一个程序,它读取未指定数量的整数并找到出现次数最多的整数。例如,如果您输入 2 3 40 3 5 4 –3 3 3 2 0,则数字 3 出现的频率最高。在一行中输入所有数字。如果出现次数最多的不是一个数字而是几个数字,则应报告所有数字。例如,由于 9 和 3 在列表 9 30 3 9 3 2 4 中出现了两次,因此应该报告这两个出现。
def main():
numbers= input("Enter the numbers: ").strip().split()
dict_numbers = []
for number in numbers:
if number in dict_numbers:
dict_numbers[number] += 1
else:
dict_numbers[number] = 1
most_occurrence = max(dict_numbers.values())
print("Most Occurrence:",end=" ")
for number, occurrence in dict_numbers.items():
if(most_occurrence == occurrence):
print(number, end=" ")
main()
我不断收到以下错误:
Enter the numbers: 1 2 4 6 6
Traceback (most recent call last):
File "/Users/eriksaini/Desktop/Python/M09/Assignments/countLetters.py", line 20, in <module>
main()
File "/Users/eriksaini/Desktop/Python/M09/Assignments/countLetters.py", line 10, in main
dict_numbers[number] = 1
TypeError: list indices must be integers or slices, not str
>>>
【问题讨论】:
-
[]创建一个空列表,{}创建一个空字典。 -
这能回答你的问题吗? How to make "seen" hash with python dict?