Форум сайта python.su
Вещественное число задается следующим образом (форма Бэкуса-Наура):
<Number> ::= <digit> {<digit>} [ <Separator> <digit> {<digit>}
[<Exponent> <digit> {<digit>}]
<digit> ::= ‘0’ | ‘1’ | ‘2’ | ‘3’ | ‘4’ | ‘5’ | ‘6’ | ‘7’ | ‘8’ | ‘9’
<Sign> ::= ‘+’ | ‘-’
<Separator> ::= ‘.’
<Exponent> ::= ‘E’ | ‘e’
Требуется проверить, является ли вводимая строка корректной записью числа.
Формат ввода
Вводится одна строка, содержащая не более 200 символов.
Формат вывода
Необходимо вывести YES или NO в зависимости от того, является ли данная строка записью одного вещественного числа.
Отредактировано So (Янв. 12, 2014 15:52:04)
Офлайн
def test(num): try: float(num) except ValueError: return 'NO' else: return 'YES'
Офлайн
А можно с обьяснением?
Офлайн
So
нет ибо это форум телепатов
Отредактировано Singularity (Янв. 12, 2014 18:48:01)
Офлайн
So
Все просто - конвертируем строку в вещественное число встроенной функций, если при этом возникает ошибка, то строка не подходит по условию, иначе все ок.
эх…говорил же Владимир Ильич в свое время,а счаз…уг
Офлайн
Soнеправильно записал, нужно было в код обернуть
Вещественное число задается следующим образом
Офлайн