Вернуть подстроки из строки через пробел и с большой буквы каждое слово

Рейтинг: -2Ответов: 1Опубликовано: 15.06.2023

нужно написать функцию, которая будет искать совпадения в строке и возвращать их отсортированными с большой буквы и через пробел.

например, есть строка "cokefriessandwichpizzaburgercoke"

нужно вернуть "Burger Fries Pizza Sandwich Coke Coke". Порядок слов в соответствии к меню:

Burger
Fries
Chicken
Pizza
Sandwich
Onionrings
Milkshake
Coke
def get_order(order: str) -> str:
    menu = "Burger", "Fries", "Chicken", "Pizza", "Sandwich", "Onionrings", "Milkshake", "Coke"
    result = ""
    for i in menu:
        if i.lower() > 1 in order:
            result += i + " "
    return result

если слово в строке повторяется, то нужно вывести все такие слова

Ответы

▲ 3

Разбиваете задачу на шаги и решаете. Это называется "декомпозиция задачи". Что нужно сделать:

  • Найти одно из слов списка меню начиная с начала строки, для этого нужно перебрать слова из списка и найти подходящее слово. На каждой итерации цикла:
    • Взять срез из строки, длиной как очередное слово списка
    • Сравнить этот срез с этим словом, приведя слова к одному регистру
    • Если слова совпали
      • Добавить это слово в выходной список
      • Сдвинуться по обрабатываемой строке на длину найденного слова
      • Прервать цикл по списку (вернее - начать поиск с начала списка)
  • Делать так, пока строка поиска не кончится
  • Вывести список найденных слов через пробел

Программу пишите сами - ведь это задание для вас. Там будут ещё тонкости. Но общую схему рассуждений я вам показал.