Ввод с клавиатуры, если это число писать "Это число", если не число писать"Это не число"
Ввод с клавиатуры, если это число писать "Это число", если не число писать "Это не число". У меня не получилось, т.к. input() присваивает только тип str, а int(input()) только int. Мне нужно чтобы было и то и другое.
Ответы (3 шт):
Автор решения: Çℏėτᶄắɤẵ Çℏėτɤᶉᶄắ
→ Ссылка
В данном случае будет лучше использовать встроенный метод .isdigit(), однако он работает только для неотрицательных чисел (тип int)
a=input()
if a.isdigit(): #проверяем, является ли строка записью целого числа
print('Число')
else:
print('Не число')
В одну строчку:
print('Число' if input().isdigit() else 'Не число')
Автор решения: Amgarak
→ Ссылка
А можно обработать через исключение:
user_input = input("Введите значение: ")
try:
number = float(user_input)
print("Это число")
except ValueError:
print("Это не число")
Автор решения: Глеб
→ Ссылка
Можно вот так:
def checker(num):
if num[0] == '-' and len(num) > 1: num = num[1:]
if all(i.isdecimal() for i in num.split('.')) and len(num.split('.')) in [1, 2]:
print("Это число")
else:
print("Это не число")
>>> print(checker('123'))
Это число
>>> print(checker('1.23'))
Это число
>>> print(checker('1.23.23'))
Это не число
>>> print(checker('1b'))
Это не число