Почему отрицательные числа не проходят проверку isdigit()
Всем привет, подскажите пожалуйста, почему в этом коде отрицательные числа не проходят проверку на то что они являются числами.
srt = [x for x in '-4 -5 +'.split()]
for i in srt:
if i.isdigit():
print(True)
Вывод: Пусто
А если я использую тоже самый код только с положительными числами
srt = [x for x in '4 5 +'.split()]
for i in srt:
if i.isdigit():
print(True)
Вывод : True True
Может кто то обьяснить почему так отрабатывает и как сделать проверку у отрицательных чисел?
Ответы (2 шт):
Автор решения: Danis
→ Ссылка
метод isdigit возвращает True, только если строка состоит полностью из цифр (0123456789)
можно попробовать реализовать свой isdigit с поддержкой отрицательных чисел
def isdigit(s):
if s.startswith("-"):
s = s[1:]
return s.isdigit()