Напишите функцию, которая будет возвращать True, если переданная строка (например, "5 + 4") является математическим выражением. В противном случае функция должна возвращать False.
Примечания:
- из операторов учитываем только +, -, *, /, %
- в переданной строке будет максимум два числа
- оба числа будут целыми, из диапазона 0-9
Примеры
math_expr("4 + 5") ➞ True
math_expr("4*6") ➞ True
math_expr("4*no") ➞ False
Варианты решений
def math_expr(expr):
return all(ch in '0123456789 +-*/%' for ch in expr)
def math_expr(expr):
try:
return isinstance(eval(expr), (int, float))
except NameError:
return False