Python

Помогите пожалуйста с задачей по питону

При помощи лямбда функции, функций высших порядков и списочных выпадений напишите код, который считает сумму факториалов чисел, введенных пользователем в строку
"Списочных выпадений", во как. А нельзя просто выбрать те инструменты, которые больше всего подходят к этой задаче, без навязывания того, что не подходит?
 from math import factorial
ns = map(int, input().split())
print(sum(map(factorial, ns)))
Вот тебе функции высших порядков (map), лямбды тут сто лет не нужны, а "списочные выпадения" - и подавно.

А если прямо так руки чешутся реализовать факториал вручную, то можно так:
 from itertools import accumulate
from math import prod

# Позиция старшего единичного бита
def bitlen(n):
l = 0
while n != 0: l, n = l + 1, n >> 1
return l

# Количество единиц в двоичной записи числа
def ones(n):
c = 0
while n != 0: c, n = c + 1, n & (n - 1)
return c

# Рекурсивная функция: произведение нечётных чисел в диапазоне [k, n)
# Вызывает себя для каждой половины диапазона, пока длина диапазона не станет меньше порога
def factorial_partial_product(k, n, maxb):
c = (n - k) // 2
if (c > i
if (v
Алексей Цариков
Алексей Цариков
87 571
Лучший ответ
Игорь Мокеров Я пытаюсь делаю по методичке из уника
Александр Кель В приведенном вами коде пропущена закрывающая скобка после вызова функции sum(). Исправленный код будет выглядеть так:
 from math import factorial 

ns = map(int, input().split())
print(sum(map(factorial, ns)))
Этот код считывает строку ввода, разделяет ее на числа и записывает в переменную ns в виде итерируемого объекта. Затем применяет функцию factorial из модуля math к каждому элементу ns с помощью функции map(), вычисляет сумму полученных значений с помощью функции sum() и выводит ее на экран.
 from functools import reduce 
factorial = lambda x: reduce(lambda a, b: a * b, range(1, x + 1))
a, b = map(int, input().split())
print(factorial(a) + factorial(b))
Вот пример кода на Python, который считает сумму факториалов чисел, введенных пользователем в строку:
 # Функция, вычисляющая факториал числа 
def factorial(n):
if n == 0:
return 1
else:
return n * factorial(n-1)

# Считываем числа от пользователя и записываем их в список
nums = input("Введите числа через пробел: ").split()

# Преобразуем список строк в список целых чисел
nums = list(map(int, nums))

# Вычисляем сумму факториалов чисел с помощью лямбда-функции и функции высшего порядка reduce
from functools import reduce
sum_factorials = reduce(lambda x, y: x + y, map(factorial, nums))

# Выводим результат на экран
print("Сумма факториалов введенных чисел: ", sum_factorials)
В этом коде мы сначала определяем функцию factorial, которая вычисляет факториал числа n. Затем мы считываем строку от пользователя, содержащую числа, разделенные пробелами, и преобразуем ее в список целых чисел при помощи функции map. Далее мы используем функцию высшего порядка reduce и лямбда-функцию, чтобы вычислить сумму факториалов чисел в списке. И, наконец, мы выводим результат на экран.
Алексей Цариков Полный отстой, а не реализация. Из нормальных мест за такие увольняют.