"""
Необходимые знания: определение функций, оператор range().
Также вам потребуется импортировать библиотеку numpy:
import numpy as np
Из библиотеки потребуются две функции np.sum и np.log (возможно, потребуется погуглить).
"""


import numpy as np


def sum_power(n: int) -> float:
    """
    Написать функцию sum_power, которая возвращает натуральный логарифм для выражения: 1 + 2*2 + 3*3 + … + n*n.
    Прислать ответ: при n=16 и код функции, который возвращает ответ

    :param n:
    :return: log(1 + 2*2 + 3*3 + … + n*n)
    """

    exp = (i*i for i in range(1, n + 1))  # выражение генератор

    return np.log(np.sum(exp))


if __name__ == '__main__':
    num = 16
    print(sum_power(num))  # 7.310550158534422
