Задать вопрос
yolga
@yolga
Постигающий

Как вывести число пар одинаковых элементов в списке?

Напишите программу, которая выводит число пар одинаковых элементов в списке. Программа должна запрашивать на вход слова, каждое с новой строки, пока пользователь не введет пустую строку.
a = [str(s) for s in input().split()]
counter = 0
for i in range(len(a)):
    for j in range(i + 1, len(a)):
        if a[i] == a[j]:
            counter += 1
print(counter)

Input: a a d s d s f f c
Output: 4

Суть вопроса: основное тело программы верно, но input должен быть бесконечным, наподобие:
spoiler
for line in iter(input, ''):
    a = str(input())

--или--

lst = []
while True:
    a = str(input())
    lst.append(a)
    if a == '':
        print(lst)
        break

Не получается связать цикл с бесконечным инпутом. Как это сделать?
  • Вопрос задан
  • 3471 просмотр
Подписаться 1 Простой 5 комментариев
Решения вопроса 1
Ternick
@Ternick
Ну скажем как то так, если нет код можешь переделать как тебе нужно)
КОД:
def main():
	words = list()
	count = 0

	while True:
		tmp = input()
		if tmp == "":
			break
		words.append(tmp)

	for word in list(set(words)):
		count += words.count(word) // 2

	print(count)

if __name__ == '__main__':
	main()
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы