Как проверить то что пользователь вводит число, а не слово?

У меня есть фрагмент кода:

@dp.callback_query_handler(text='per2')
async def per2_call(callback: types.CallbackQuery):
    await callback.message.answer('Довжина сторони:')
    await MathInput4.num7.set()


@dp.message_handler(state=MathInput4)
async def get_num(message: types.Message, state: FSMContext):
    num7 = float(message.text)
    await message.answer(f"Периметр дорівнює: {num7 * 4}")
    await state.finish()

И когда пользователь ввел не число, а, к примеру слово, то, чтобы ему был выведен текст, например - "Введите число!!".

Заранее благодарен!


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

Автор решения: tomato-magnet-regulato
def is_int(str):
    try:
        int(str)
        return True
    except ValueError:
        return False

a = '123.456'
b = '51'
print(is_int(a))  
pritn(is_int(b))


>> False
>> True

number = '10'

number.isdecimal()

>> True
→ Ссылка