Не работает условие IF при проверке типа данных

На начальной стадии изучения Python, никак не могу понять почему не срабатывает условие?

print('Введите цифры: ')
a = input()
if (type(a) == int):
    print('Вы ввели цифры: ', a)
else:
    print('Вы ввели не цифры, а другие символы!')

Так же пробовал второй вариант кода. Все равно ничего не получается...

print('Введите цифры: ')
a = input()
if isinstance(a, int):
    print('Вы ввели цифры: ', a)
else:
    print('Вы ввели не цифры, а другие символы!')

Если в 2й строке пишу a = int(input()), то выдает ошибку File "C:/PYTHON/Studies/lesson2.py", line 2, in a = int(input()) ValueError: invalid literal for int() with base 10: 'gj'


Ответы (2 шт):

Автор решения: Zhihar
a = input()
if (type(a) == int):

input всегда возвращает строку, поэтому не может быть числом

нужно сделать такой код для вышей цели

try:
    value = int(input())
    print(f'Вы ввели цифры: {value}')
except ValueError:
    print('Вы ввели не цифры, а другие символы!')

так же можно использовать такой вариант:

value = input()

if value.isnumeric():
    print(f'Вы ввели цифры: {value}')
else:
    print('Вы ввели не цифры, а другие символы!')
→ Ссылка
Автор решения: CrazyElf

Можно проверить ещё вот так:

print('Введите цифры: ')
a = input()
if a.isdigit():
    print('Вы ввели цифры: ', a)
else:
    print('Вы ввели не цифры, а другие символы!')

input возвращает строку, но у строк есть методы проверки, в том числе, что строка состоит из цифр, что я и проверяю в этом коде.

→ Ссылка