Да, в Python действительно int(input()) выбросит ошибку ValueError, если введено не число (например: "abc" или "12abc"

.

Как правильно проверить, можно ли строку перевести в int:
Используй конструкцию try + except:
user_input = input("Введите число: "
try:
number = int(user_input)
print("Это целое число:", number)
except ValueError:
print("Ошибка: это не целое число"
? Как альтернатива — использовать .isdigit(), НО осторожно:
s = input("Введите число: "
if s.isdigit():
print("Это число:", int(s))
else:
print("Это не число"

.isdigit() работает только для положительных целых чисел (например: "123"

,
но не сработает для "-5" или "12.3".
? Универсальная функция проверки:
def is_integer(s):
try:
int(s)
return True
except ValueError:
return False
s = input("Введите: "
if is_integer(s):
print("Целое число:", int(s))
else:
print("Это не целое число"
GLAVQA благодарит за интересный вопрос