Python Функция len () Не возвращает исходную длину, так как мой отображенный список содержит некоторые дубликаты. - PullRequest
0 голосов
/ 20 апреля 2020
scores = list(set(map(int, input().split())))
    l = len(scores)
    print(l)

ввод данных

100 100 50 40 40 20 10

вывод

5

Вопрос

должно быть 7, но почему это 5?

Ответы [ 2 ]

0 голосов
/ 20 апреля 2020

Причина, по которой функция len () вернула вам результат - 5, потому что когда вы используете set (), она удаляет дублирующиеся записи, поэтому в вашем случае она считает 40 40 и 100 100 как одну запись, чтобы избежать этого, вы можете просто использовать список () без набора ()

scores = list(map(int, input().split()))
l = len(scores)
print(l)

или

*scores, = map(int, input().split())
l = len(scores)
print(l)
0 голосов
/ 20 апреля 2020

НЕ использовать набор, нет использования набора

scores = list(map(int, input().split()))
    l = len(scores)
   print(l)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...