принцип работы процедур и функций в среде программирования python.
напишите функцию, которая вычисляет факториал натурального числа N
Python
У нас число 0 не считается натуральным, а в стандартах ISO считается, поэтому так. И рекурсии, конечно же, здесь никакой не требуется от слова "совсем"!
А теперь запустим на дроиде такую программу, вычисляющую факториал натурального числа тремя различными функциями - с циклом while, с циклом for и с рекурсивным вызовом (только без печати больших чисел, которые смотреть не нужно, а нужно лишь смотреть время выполнения !) и посмотрим сколько что будет выполняться в секундах:
Все три способа вполне нормальные, даже с рекурсией! И sys.setrecursionlimit совершенно не потребуется если IDE нормально настроена. Мне вот лично она в программе совершенно не потребовалась, так что мистер Лутц ни в чём не виноват!
Процедуры и ф-ции python
def f(n):
p = 1
while n: p *= n; n -= 1
return p
while True: print(f(int(input('n: '))))

А теперь запустим на дроиде такую программу, вычисляющую факториал натурального числа тремя различными функциями - с циклом while, с циклом for и с рекурсивным вызовом (только без печати больших чисел, которые смотреть не нужно, а нужно лишь смотреть время выполнения !) и посмотрим сколько что будет выполняться в секундах:
from time import time
def f(n):
p = 1
while n: p *= n; n -= 1
return p
def fact(n):
p = 1
for i in range(1, n + 1): p *= i
return p
def factorial(n):
return n * f(n - 1) if n else 1
while True:
n, t = int(input('n: ')), time()
f(n); T = time(); print(T - t)
fact(n); t = time(); print(t - T)
factorial(n); print(time() - t)

def factorial(n):return n * factorial(n-1) if n > 0 else 1
print(factorial(5))
def factorial(n, acc=1):
if not n:
return acc
return factorial(n-1, n*acc)
print(factorial(10))
Владимир Афанасьев
Попробуй посчитать своей функцией факториал от 1000.
Похожие вопросы
- Окончил курсы на степике по Python что делать дальше?
- Python программирование. Помогите написать программу.
- Нейронные сети на Python 3.4
- Помогите, как сделать авторизацию в программе на python?
- Что писать на Python?
- Есть ли смысл изучать python
- Подскажите ресурс\книги с примерами по высшей математике и их решений на языке Python
- Можете помочь! Нужен код для Python, что бы он заменял определенный текст в файле
- Программисты, расскажите, правильный StartUp? Python
- Почему Python такой сложный?