Qwerty16
Май 3, 2016 17:31:23
Дан некоторый текст, за которым следует точка (в сам текст точка не
входит). Определить программно, является ли текст правильной записью
«формулы», которая записана в соответствии с синтаксисом EBNF:
Формула = Цифра {Цифра} | (Формула Знак Формула).
Знак = ‘+’ | ‘-’ | ‘*’.
Цифра = ‘0’ | ‘1’ | ‘2’ | ‘3’ | ‘4’ | ‘5’ | ‘6’ | ‘7’ | ‘8’ | ‘9’.
С помощью регулярных выражений могу сделать а вот рекурсивно не получается.
Не могу разобраться помогите пожалуйста.
FishHook
Май 3, 2016 18:07:31
Ну сделайте как получается, в чем проблема то?
Qwerty16
Май 3, 2016 18:17:47
Нужно при помомощи рекурсии так нельзя
FishHook
Май 3, 2016 18:31:17
Qwerty16
Нужно при помомощи рекурсии так нельзя
Почему нельзя, если работает? Странный вы человек, однако.
ZerG
Май 4, 2016 07:53:32
потому что задачу препод так ставит….
den4ik
Май 4, 2016 10:29:22
А можно увидеть “свой” вариант?
Qwerty16
Май 4, 2016 10:36:31
То на рекурсию нет идей вообще
Qwerty16
Май 8, 2016 17:16:56
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])