Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > Python
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.05.2020, 01:39   #1
макс1611
Новичок
Джуниор
 
Регистрация: 20.05.2020
Сообщений: 6
По умолчанию ПИТОН разбивка строки на несколько строк по текстовому условию, флагу

подскажите пожалуйста,вот есть текст
"зуб 18 отсутствует зуб 17 пломба зуб 16 коронка зуб 15 кариес"
как в питоне мне сделать так,чтобы он разделял текст на "зуб 18 отсутствует", "зуб 17 пломба" и т.д.
меткой для ориентира является "зуб №"
нет задачи прям весь язык изучать ,хочу конкретную задачу выполнить

мне надо ,чтобы питон вытягивал текст из блокнота,куда он вносится (это я уже знаю как делать)
далее "читал" текст ,я вот не моуг въехать как бы ему это дело преподнести
далее надо будет полученный результат перекинуть дальше

если что зубов всего 32 ,может это как то использовать?
типо
if tooth18 == 'зуб 18 отсутствует'
пиши то то....
но как сделать так,чтобы конкретно под значение tooth18 он находил из всего массива текста "зуб 18 отсутсвует" я не знаю

что посмотреть,что поизучать или объясните ,как сделать ! спасибо!
макс1611 вне форума Ответить с цитированием
Старый 23.05.2020, 02:14   #2
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,285
По умолчанию

Код:
s = input().split(" ")
for i in range(0, len(s), 3):
    print(int(s[i + 1]), s[i + 2])
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 23.05.2020, 03:43   #3
макс1611
Новичок
Джуниор
 
Регистрация: 20.05.2020
Сообщений: 6
По умолчанию

Цитата:
Сообщение от BDA Посмотреть сообщение
Код:
s = input().split(" ")
for i in range(0, len(s), 3):
    print(int(s[i + 1]), s[i + 2])
тогда так спрошу,я можно ли более гибким код сделать?
чтобы не было на столько жесткой привязки к тексту?
если ввести текст "зуб 18 отсутствует зуб 17 пломба зуб 16 коронка зуб 15 кариес" всё ок.
но чуть я его изменю и забуду сказать слово "зуб" ,ничего работать не будет.
я надеялся найти решение в плане привязки ,например прописать ,что
"зуб 18" тоже самое,что "18 зуб" и тоже самое,что "18" .
а далее искать "зуб 18 " в тексте и как то от этого плясать
потому что слов между зуб 18 и зуб 17 может быть одно,два,три (кстати ,Все эти слова заранее известны )
макс1611 вне форума Ответить с цитированием
Старый 23.05.2020, 04:06   #4
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,285
По умолчанию

Код:
s = input().split(" ")
d = {}
n = 0
for w in s:
    if w == "зуб":
        continue
    if w.isdigit():
        n = int(w)
        continue
    d.setdefault(n, []).append(w)
print(d)
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ЯП Java. ArrayList. Определение самой длинной строки и вывод её или всех строк, если их несколько nevender Общие вопросы по Java, Java SE, Kotlin 14 10.09.2016 02:01
Как вытащить строки из таблицы на другой лист по условию, с заданым распределением, и с возможностью добавления или удаления строк NaUmA Microsoft Office Excel 1 05.02.2014 22:52
Разбивка одной сторки на несколько по заданному параметру bonyabelka Microsoft Office Excel 1 15.05.2013 17:44
Разбивка на лексемы и состовление из лексем строк Corvette Общие вопросы C/C++ 3 28.04.2012 13:47
Извлечь в одну ячейку несколько значений из строки которые удовлетворяют заданному условию. Dorvir Microsoft Office Excel 5 08.04.2008 16:12