Привет! Давай разберемся, что у тебя не так с кодом. Сначала я посмотрю на скриншот, чтобы понять, в чем проблема.
На скриншоте виден код программы и сообщение об ошибке TypeError в строке с проверкой, является ли число квадратом другого числа. Ошибка говорит нам о том, что операция умножения не поддерживается для типов str и float. Это означает, что переменная number_input осталась строкой, и вы пытаетесь возвести ее в квадрат, хотя нужно было сначала преобразовать ее в число.
Чтобы исправить ошибку, тебе нужно убедиться, что переменная number_input преобразуется в числовой тип данных перед тем, как ты выполняешь числовые операции. Вот как это можно сделать:
- Преобразуй
number_inputвintилиfloatпрямо после ввода значения. - Убедись, что вся математика проводится уже с числами, а не со строками.
number_input = float(input()) # Преобразуем ввод пользователя в число с плавающей точкой
...
is_square = int(number_input**0.5)**2 == number_input
...
Это должно решить проблему. Если ты хочешь, чтобы твой код работал с целыми числами, ты можешь заменить float на int, но тогда пользователь не сможет вводить дробные числа.
Если у тебя возникнут еще вопросы или нужна помощь с другими частями кода, не стесняйся спрашивать!
