Can you help me, bro?

Xappoy

Новичок
Пользователь
Окт 3, 2021
3
0
1
Решал простейшую задачку:

Дан массив a из n целых чисел. Напишите программу, которая найдет число, которое чаще других встречается в массиве

Я практически сделал эту программу, но она работала не исправно.
Я даже нашёл ошибку эту, но хоть убей, не могу исправить её.
Ошибка заключается в том, что неправильно написано условие.

Условие на 6 строке

Оно всегда не истинно

вот код:

Код:
n = int(input())
a = [int(i) for i in input().split()]
dict = {}

for i in range(0, n-1):
    if  a[i] in dict == True:   dict[a[i]] += 1
    else:   dict[a[i]] = 1
print(dict)
Keymax = max(dict, key=dict.get)

print(Keymax)
 
Последнее редактирование:

pypypypipypypy

Новичок
Пользователь
Янв 21, 2021
8
1
3
in dict првоеряет наличие в ключах а не в их значениях, если хочешь проверять в значениях используй .values()
а вообще, есть попроще вариант - через max с key=a.count
и еще, не называй переменные как dict, int, bool,id, sum и т.д., если хочешь так назвать - добавь _ в конец по типу dict_
 
  • Мне нравится
Реакции: Xappoy

Xappoy

Новичок
Пользователь
Окт 3, 2021
3
0
1
in dict првоеряет наличие в ключах а не в их значениях, если хочешь проверять в значениях используй .values()
а вообще, есть попроще вариант - через max с key=a.count
и еще, не называй переменные как dict, int, bool,id, sum и т.д., если хочешь так назвать - добавь _ в конец по типу dict_
Спасибо тебе, особенно за вариант по проще)
 

Форум IT Специалистов