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
Игорь Мокеров
Я пытаюсь делаю по методичке из уника
Александр Кель
В приведенном вами коде пропущена закрывающая скобка после вызова функции sum(). Исправленный код будет выглядеть так: Этот код считывает строку ввода, разделяет ее на числа и записывает в переменную 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 и лямбда-функцию, чтобы вычислить сумму факториалов чисел в списке. И, наконец, мы выводим результат на экран.
Алексей Цариков
Полный отстой, а не реализация. Из нормальных мест за такие увольняют.
Похожие вопросы
- Помогите, пожалуйста, с задачей на питоне!
- Помогите пожалуйста решить задачи на питоне:
- Помогите пожалуйста решить задачу на питоне...
- Помогите пожалуйста с задачей на Питоне
- Помогите с 3 задачами на питон 3!!! пожалуйста!!
- Помогите мне пожалуйста решить задачу на питоне!
- Помогите пожалуйста с задачей Питон
- Помогите, пожалуйста, с задачей по информатике в питоне.
- Помогите, пожалуйста, решить задачу Python
- Товарищи. помогите пожалуйста с задачей по информатике