
Люди, помогите найти ошибку пожалуйста! задача (Python): Количество различных элементов — 2 Дан
список. Посчитайте, сколько в нём различных элементов, не изменяя самого списка. Входные данные: Вводится список чисел. Все числа списка находятся на одной строке. Все числа целые неотрицательные и не больше 1000. Выходные данные: Выведите ответ на задачу. Мой вариант решения: e = list(map(int, input().split())) count = 1 r = [] for i in range (len(e)): c = 0 for j in range (len(r)): if e[i] == r[j]: c+=1 if c == 0 and j + 1 == len(r): count += 1 r.append(e[i]) print(count) (выдает "программа выполнялась слишком долго и была прервана")

Ответы на вопрос

Ответ:
e = list(map(int, input().split()))
xcount=0
for i in range(len(e)):
count=-1
for x in range(len(e)):
if e[i]==e[x]:
count+=1
if not count:
xcount+=1
print(xcount)
Объяснение:
Ваш исходный код не до конца понял, т.к утерялись все пробелы, не смог восстановить



Проблема вашего решения заключается в том, что вы используете вложенные циклы для проверки наличия элемента e[i]
в списке r
. Это неэффективный способ решения задачи, особенно при большом количестве элементов.
Вместо этого вы можете использовать множество (set) для хранения уникальных элементов из списка. Множество автоматически удаляет повторяющиеся элементы, поэтому вы сможете легко определить количество различных элементов. Вот исправленный вариант:
pythone = list(map(int, input().split()))
unique_elements = set(e)
count = len(unique_elements)
print(count)
Этот код сначала преобразует входные данные в список e
, а затем создаст множество unique_elements
, которое содержит только уникальные элементы из e
. Затем вы можете использовать функцию len()
для определения количества уникальных элементов в списке и вывести результат. Этот метод гораздо более эффективен и быстрее, чем использование вложенных циклов.


Похожие вопросы
Топ вопросов за вчера в категории Информатика







Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili