Задача в python - Общение Python мододелов

Вопрос Задача в python

Регистрация
2 Авг 2013
Сообщения
77
Репутация
0
Спасибо
0
Монет
0
Нужно написать функцию, которая в качестве аргумента принимает целое число (n) и выводит сумму факториалов.



Например, функции передано число 5, тогда:



1! = 1 (1)

2! = 2 (1 * 2)

3! = 6 (1 * 2 * 3)

4! = 24 (1 * 2 * 3 * 4)

5! = 120 (1 * 2 * 3 * 4 * 5)

И результат: 1 + 2 + 6 + 24 + 120 = 153
 

GGG

Capitan

GGG

Capitan
Регистрация
16 Мар 2013
Сообщения
92
Репутация
0
Спасибо
0
Монет
0
def sum_of_factorials(n):
def factorial(k):
if k == 0 or k == 1:
return 1
else:
return k * factorial(k - 1)

total_sum = 0
for i in range(1, n + 1):
total_sum += factorial(i)

return total_sum

# Пример использования
n = 5
result = sum_of_factorials(n)
print(f"Сумма факториалов от 1 до {n} равна: {result}")
Когда вы вызовете sum_of_factorials(5), программа выведет: Сумма факториалов от 1 до 5 равна: 153
 
Регистрация
10 Ноя 2013
Сообщения
71
Репутация
0
Спасибо
0
Монет
0
Всё верно, только может быть нужно добавить ввод числа n, и прописать зацикленность, до этого числа n
 
Регистрация
23 Окт 2013
Сообщения
81
Репутация
0
Спасибо
0
Монет
0
def fsum(n):
v = 1
return sum(v := v * i for i in range(1, n + 1))
 
Регистрация
23 Мар 2013
Сообщения
83
Репутация
-9
Спасибо
0
Монет
0
def sum_of_factorials(n):
if not isinstance(n, int) or n < 1:
raise ValueError("Аргумент должен быть целым числом больше или равным 1")

total = 0
factorial = 1
for i in range(1, n + 1):
factorial *= i
total += factorial
return total
 
Сверху Снизу