Страницы

Поиск по вопросам

воскресенье, 7 июля 2019 г.

python произведение степеней чисел

вводится последовательность, надо подсчитать произведение пятых степеней чисел в этой последовательности.
например ввод 1 1 2 1 вывод 32
from numpy import product print(product(lambda x : x**5, map(int, input().split())))
TypeError: 'function' object is not iterable


Ответ

Используйте преимущества Numpy - векторизированные функции:
import numpy as np
In [8]: inp = '1 1 2 1'
In [9]: a = np.array(inp.split()).astype(int)
In [10]: a Out[10]: array([1, 1, 2, 1])
In [11]: np.power(a, 5).sum() Out[11]: 35
In [12]: np.power(a, 5).prod() Out[12]: 32
In [13]: np.power(a, 5) Out[13]: array([ 1, 1, 32, 1], dtype=int32)
In [14]: a ** 5 Out[14]: array([ 1, 1, 32, 1], dtype=int32)
Если вам всенепременно надо все одним выражением сделать:
In [16]: np.power(np.array(input().split()).astype(int), 5).prod() 1 1 2 1 Out[16]: 32

Комментариев нет:

Отправить комментарий