Вернуть подстроки из строки через пробел и с большой буквы каждое слово
нужно написать функцию, которая будет искать совпадения в строке и возвращать их отсортированными с большой буквы и через пробел.
например, есть строка "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
если слово в строке повторяется, то нужно вывести все такие слова
Ответы (1 шт):
Автор решения: CrazyElf
→ Ссылка
Разбиваете задачу на шаги и решаете. Это называется "декомпозиция задачи". Что нужно сделать:
- Найти одно из слов списка меню начиная с начала строки, для этого нужно перебрать слова из списка и найти подходящее слово. На каждой итерации цикла:
- Взять срез из строки, длиной как очередное слово списка
- Сравнить этот срез с этим словом, приведя слова к одному регистру
- Если слова совпали
- Добавить это слово в выходной список
- Сдвинуться по обрабатываемой строке на длину найденного слова
- Прервать цикл по списку (вернее - начать поиск с начала списка)
- Делать так, пока строка поиска не кончится
- Вывести список найденных слов через пробел
Программу пишите сами - ведь это задание для вас. Там будут ещё тонкости. Но общую схему рассуждений я вам показал.