На этом шаге мы рассмотрим понятие рекурсии и в качестве примера - вычисление факториала числа.
Рекурсия - это возможность функции вызывать саму себя. Рекурсию удобно использовать для перебора объекта, имеющего заранее неизвестную структуру, или для выполнения неопределенного количества операций. В качестве примера рассмотрим вычисление факториала.
def factorial(n): if n == 0 or n == 1: return 1 else: return n * factorial(n - 1) while True: x = input("Введите число: ") if x.isdigit(): # Если строка содержит только цифры x = int(x) # Преобразуем строку в число. break # Выходим из цикла else: print("Вы ввели не число!") print("Факториал числа {0} = {1}".format(x, factorial(x)))
Результат выполнения примера приведен на рисунке 1.
Рис.1. Результат работы приложения
Впрочем, проще всего для вычисления факториала воспользоваться функцией factorial() из модуля math. Пример:
>>> import math >>> math.factorial(5), math.factorial(6) (120, 720)
На следующем шаге мы рассмотрим глобальные и локальные переменные.