===== PascalABC.NET =====
begin
var СписокСлов := ReadlnString('Список слов через пробел:').ToWords;
var ИсходныйСловарь := new Dictionary<char, integer>;
var РабочийСловарь := new Dictionary<char, integer>;
foreach var Символ in ReadlnString('Слово:') do
ИсходныйСловарь[Символ] := ИсходныйСловарь.Get(Символ) + 1;
var СтрокаВывода: string;
foreach var Слово in СписокСлов do
begin
foreach var Символ in Слово do
РабочийСловарь[Символ] := РабочийСловарь.Get(Символ) + 1;
var МожноПостроитьСлово := True;
foreach var ЭлементРабочегоСловаря in РабочийСловарь do
begin
var Ключ := ЭлементРабочегоСловаря.Key;
var ПределПовторовБуквы: integer;
if ИсходныйСловарь.TryGetValue(Ключ, ПределПовторовБуквы) then
begin
if ЭлементРабочегоСловаря.Value > ПределПовторовБуквы then
begin
МожноПостроитьСлово := False;
break
end
end
else
begin
МожноПостроитьСлово := False;
break
end
end;
if МожноПостроитьСлово then
begin
if СтрокаВывода <> '' then
СтрокаВывода += ', ';
СтрокаВывода += Слово
end;
РабочийСловарь.Clear;
end;
Println(СтрокаВывода)
end.
Пояснение:
Если ввод осуществляется через файл, то он должен называть "Слова.txt" и находиться в одной директории с исполняемым файлом. Выбрать нужный вариант ввода можно просто введя цифру в перовом input.
Код:
# -*- coding: utf-8 -*-
format = int(input("Считать слова из файла (введите 1)\nВводить слова в консоль (введите 2)\nВвести слова в одну строку(введите 3)\nВыбор: "))
words = []
answer = []
if format == 1:
f = open('Слова.txt', "r", encoding='utf-8')
line = f.readline()
while line:
for i in line.split(", "):
words.append(i)
line = f.readline()
f.close()
elif format == 2:
n = int(input("Введите кол-во слов - "))
for i in range(n):
words.append(input("Вв. слол - "))
elif format == 3:
n = input("Введите строку - ")
for i in n.split(", "):
words.append(i)
else:
print("Неправильно введен номер ответа")
word = input("Введите поисковое слово - ")
for i in words:
for j in list(word):
if len(set(word).intersection(set(i))) == len(i):
answer.append(i)
break
print(", ".join(answer))
Текст для документа:
рыба, рак, щука, лебедь, карась, пескарь, баня, бубен, столб, баян, барыня
Поделитесь своими знаниями, ответьте на вопрос:
Изображение, которое формируется из объектов по указанным формулам