Вводим три строки. В первой строке слова разделены пробелами, во второй строке разделены символом -::- и в третьей

  • 41
Вводим три строки. В первой строке слова разделены пробелами, во второй строке разделены символом -::- и в третьей строке разделены символами }{.
Для каждого слова из первой строки нужно выбрать: из второй строки слова, которые расположены после проверяемого слова в алфавитном порядке (регистр не учитывается) и имеют длину, меньшую чем проверяемое слово, хотя бы на два символа. Из третьей строки нужно выбрать слова, содержащие только буквы (без цифр и знаков препинания), но содержащие минимум две буквы из проверяемого слова после приведения к одному регистру. Нужно вывести результат в следующем формате: каждое слово начинается с заглавной буквы, остальные буквы - строчные, и слова разделяются запятой.
Lunnyy_Shaman
48
Хорошо, вот пошаговое решение данной задачи:

1. Считываем три строки с помощью функции `input()`. Назовем их `string1`, `string2` и `string3`.

2. Разделяем первую строку `string1` на слова с помощью метода `split()`, который разделит строку по пробелам и вернет список слов. Назовем полученный список `words`.

3. Разделяем вторую строку `string2` на слова с помощью метода `split(":")`, который разделит строку по символу "-::-" и вернет список слов. Назовем полученный список `after_words`.

4. Разделяем третью строку `string3` на слова с помощью метода `split("{}")`, который разделит строку по символам "}{" и вернет список слов. Назовем полученный список `contain_words`.

5. Создаем пустые списки `result1` и `result2` для хранения результатов выборки.

6. Для каждого слова `word` из списка `words` выполняем следующие действия:

- Проверяем каждое слово `aw` из списка `after_words`. Если `aw` начинается со следующей буквы после `word` в алфавитном порядке (при приведении к нижнему регистру) и имеет длину, меньшую чем `word` минус 2, добавляем `aw` в список `result1`.

- Проверяем каждое слово `cw` из списка `contain_words`. Если `cw` содержит не менее двух букв из `word` после приведения их к нижнему регистру, добавляем `cw` в список `result2`.

7. Выводим результаты выборки. Сначала выводим список `result1`, а затем список `result2`, каждый на новой строке.

Вот пример кода, который реализует описанное решение:

python
string1 = input()
string2 = input()
string3 = input()

words = string1.split()
after_words = string2.split("::-")
contain_words = string3.split("}{")

result1 = []
result2 = []

for word in words:
for aw in after_words:
if aw.lower() > word.lower() and len(aw) < len(word) - 2:
result1.append(aw)

for cw in contain_words:
if len([letter for letter in word.lower() if letter in cw.lower()]) >= 2:
result2.append(cw)

print("\n".join(result1))
print("\n".join(result2))


Надеюсь, это пошаговое решение позволит школьнику лучше понять и выполнить задачу. Если у вас возникнут дополнительные вопросы, не стесняйтесь задавать!