Много слов из одного Python
Алиса и Боб играют в игру "Много слов из одного", где из букв исходного слова нужно составлять другие. Каждую букву можно использовать максимум столько раз, сколько она встречалась в исходном слове. За каждое составленное по правилам слово начисляется столько очков, сколько букв в нём содержится. Алиса очень хочет выиграть и поэтому не замечает, что некоторые из её слов могут быть составлены не по правилам. Помогите Бобу определить, сколько очков набрала Алиса, составив свои слова.
Формат ввода
Программа получает на вход строку - исходное слово. Во второй строке записано натуральное число N ≤ 10000 - количество слов, составленных Алисой. В каждой из следующих N строк записано составленное (возможно, некорректно) слово. Длина каждого слова не превышает 30 букв, все буквы записаны в нижнем регистре
Формат вывода
Программа должна вывести одно неотрицательное число - количество набранных Алисой очков.
Пример 1
Ввод
abracadabra
3
cat
radar
crab
Вывод
9
Пример 2
Ввод
tracktor
4
tulip
flower
rose
cactus
Вывод
0
Полное описание:
Мой не рабочий код
word = input()
n = int(input())
words = [input() for i in range(n)]
count = 0
for w in words:
condition = False
for c in w:
if c in word and w.count(c) <= word.count(c):
condition = True
else:
condition = False
break
if condition:
count += len(w)
print(count)
Ответы (1 шт):
word = input()
n = int(input())
words = [input() for i in range(n)]
count = 0
for w in words:
condition = False
for c in w:
if c in word and w.count(c) <= word.count(c):
condition = True
else:
condition = False
break
if condition:
count += len(w)
print(count)
