Использование цикла for - если в пользовательском вводе есть повторяющиеся слова, отображается только первое повторяющееся слово. Как я могу отобразить все повторяющиеся слова? - PullRequest
0 голосов
/ 10 июля 2019

Я делаю счетчик символов для каждого слова из пользовательского ввода.

Однако, кажется, что если во вводе есть повторяющиеся слова (аналогичного случая),мои коды будут выводить только первое слово (дубликаты не будут включены).

Для этого я использовал цикл split, len и for.

sentence = input("Enter a sentence: ")
splitting = sentence.split()

final = {x:len(x) for x in splitting}
print(final)
  • Пример ввода: Новое оповещение по телефону!Ваш новый телефон будет доступен на следующей неделе.

  • Ожидаемый результат: {'New': 3, 'phone': 5, 'alert!': 6, 'Your': 4,'new': 3, 'phone': 5, 'will': 4, 'be': 2 ...}

  • Фактический вывод: {'New': 3, 'телефон ': 5,' alert! ': 6,' Your ': 4,' new ': 3,' will ': 4,' be ': 2 ...}

Отображается как «Новое», так и «Новое», поскольку их регистры не совпадают.Однако «телефон» отображается только один раз.

1 Ответ

1 голос
/ 10 июля 2019

вы можете получить word, characterCount в этом слове в списке списка.

listOfList = [[x , len(x)] for x in splitting]
print(listOfList)

вывод:

 [['New', 3], ['phone', 5], ['alert!', 6], ['Your', 4], ['new', 3], ['phone', 5], ['will', 4], ['be', 2], ['available', 9], ['next', 4], ['week.', 5]]
...