Уведомления

Группа в Telegram: @pythonsu

#1 Май 3, 2016 17:31:23

Qwerty16
Зарегистрирован: 2016-03-20
Сообщения: 38
Репутация: +  -1  -
Профиль   Отправить e-mail  

Анализатор формулы рекурсия

Дан некоторый текст, за которым следует точка (в сам текст точка не
входит). Определить программно, является ли текст правильной записью
«формулы», которая записана в соответствии с синтаксисом EBNF:
Формула = Цифра {Цифра} | (Формула Знак Формула).
Знак = ‘+’ | ‘-’ | ‘*’.
Цифра = ‘0’ | ‘1’ | ‘2’ | ‘3’ | ‘4’ | ‘5’ | ‘6’ | ‘7’ | ‘8’ | ‘9’.
С помощью регулярных выражений могу сделать а вот рекурсивно не получается.
Не могу разобраться помогите пожалуйста.

Офлайн

#2 Май 3, 2016 18:07:31

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Анализатор формулы рекурсия

Ну сделайте как получается, в чем проблема то?



Офлайн

#3 Май 3, 2016 18:17:47

Qwerty16
Зарегистрирован: 2016-03-20
Сообщения: 38
Репутация: +  -1  -
Профиль   Отправить e-mail  

Анализатор формулы рекурсия

Нужно при помомощи рекурсии так нельзя

Офлайн

#4 Май 3, 2016 18:31:17

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Анализатор формулы рекурсия

Qwerty16
Нужно при помомощи рекурсии так нельзя
Почему нельзя, если работает? Странный вы человек, однако.



Офлайн

#5 Май 4, 2016 07:53:32

ZerG
Зарегистрирован: 2012-04-05
Сообщения: 2627
Репутация: +  61  -
Профиль   Отправить e-mail  

Анализатор формулы рекурсия

потому что задачу препод так ставит….



Влодение рускай арфаграфией - это как владение кунг-фу: настаящие мастира не преминяют ево бес ниабхадимости

Офлайн

#6 Май 4, 2016 10:29:22

den4ik
Зарегистрирован: 2014-07-20
Сообщения: 59
Репутация: +  4  -
Профиль   Отправить e-mail  

Анализатор формулы рекурсия

А можно увидеть “свой” вариант?

Офлайн

#7 Май 4, 2016 10:36:31

Qwerty16
Зарегистрирован: 2016-03-20
Сообщения: 38
Репутация: +  -1  -
Профиль   Отправить e-mail  

Анализатор формулы рекурсия

То на рекурсию нет идей вообще

Офлайн

#8 Май 8, 2016 17:16:56

Qwerty16
Зарегистрирован: 2016-03-20
Сообщения: 38
Репутация: +  -1  -
Профиль   Отправить e-mail  

Анализатор формулы рекурсия

SIGN = '+-*'
def f(s, c=''):
    if len(s)!=0 and s[0].isdigit():
        return True
    elif (s[0] in SIGN) and (c in SIGN):
        return False
    else:
        return f(s[1:],s[0])
    

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version