Знак числа
Вы решили задачу. Теперь можно сравнить подходы.
Разделяем положительный, отрицательный и нулевой случаи.
Авторский разбор для локальной версии на основе условия задачи. Это не выгрузка чужих посылок и не официальное решение исходного сайта.
Ваше принятое решение
Рекомендуемое решение: Рекомендуемый подход
Каскад if/elif/else напрямую повторяет определение sign.
x = int(input())
if x > 0:
print(1)
elif x < 0:
print(-1)
else:
print(0)
Время: O(1). Память: O(1).
Другой способ: Другой способ
Булевы значения участвуют в арифметике как 1 и 0; их разность даёт знак.
x = int(input())
print((x > 0) - (x < 0))
Время: O(1). Память: O(1).
На что обратить внимание
- Ноль требует результата 0.
Рекомендация учитывает сложность и читаемость для этой задачи. Единственного самого быстрого решения для всех размеров входа и всех компьютеров может не быть.