"""
4. Программа принимает действительное положительное число x и целое отрицательное число y.
Необходимо выполнить возведение числа x в степень y. Задание необходимо реализовать в виде функции my_func(x, y).
При решении задания необходимо обойтись без встроенной функции возведения числа в степень.
** Подсказка:** попробуйте решить задачу двумя способами. Первый — возведение в степень с помощью оператора **.
Второй — более сложная реализация без оператора **, предусматривающая использование цикла.
"""


def my_func(x, y):
    return 1 / x ** abs(y)


def my_func2(x, y):
    x1 = x
    for n in range(abs(y) - 1):
        x *= x1
    return 1 / x


while True:
    user_x = float(input("Введите действительное положительное число: "))
    if user_x <= 0:
        print("Число не является положительным")
    else:
        break
while True:
    user_y = int(input("Введите целое отрицательное число: "))
    if user_y >= 0:
        print('Число не является отрицательным')
    else:
        break

print(f'Возведение в степень с помощью оператора ** >>> {my_func(user_x, user_y)}')
print(f'Возведение в степень с помощью цикла >>> {my_func2(user_x, user_y)}')

# print(pow(user_x, user_y)) - проверка по функции
