Возможность переобразования типов Python
Есть функция, на вход которой всегда подается строка в виде '12x45x21'. Мне нужно пройтись по числам (разделенными "х") и проверить что это действительно числа. Как это лучше сделать?
def check_type(param):
param = param.split('x')
for i in param:
try:
return float(param)
except:
return False
Ответы (3 шт):
Автор решения: dIm0n
→ Ссылка
Вот так вот:
def check_type(param):
param = param.split('x')
for i in param:
try:
float(i)
except:
return False
return True
print(check_type('12x45x21'))
Автор решения: Victor VosMottor thanks Monica
→ Ссылка
import re
def check_type(param):
return all(re.match('[+-]?([0-9]*[.])?[0-9]+', i) for i in param.split('x'))
Автор решения: Victor VosMottor
→ Ссылка
@andreymal:
Если ожидаются только целые неотрицательные числа, то
lambda param: all(x.isdigit() for x in param.split('x'))