# Intro to Python Scripting: 13 Simple Recursion

Software:
Tag:
Video Duration:
13 minutes
Author:
Zach Downey

In this tutorial we take a look at Recursion through a couple of simple examples. Recursion can be a bit confusing at times, so have a cup of coffee ready for this one. Basically, recursive functions are functions that call themselves. Generally, they keep calling themselves until some condition is met, at which point they exit. This is critical, because you can very easily create an infinite loop, which will crash Rhino. Trust me I did it a couple of times while writing the next tutorial. :)

```#Factorial
def factorial(n):
if n == 0:
return 1
else:
return n * factorial(n-1)

print factorial(5)```
```#Fibonacci Sequence
#1,1,2,3,5,8,13,21

def fib(n):
if n == 0:
return 0
if n == 1:
return 1
return fib(n-1) + fib(n-2)

for i in range(0,15):
print fib(i)```
```import rhinoscriptsyntax as rs

def RecursiveCircle(pt, r):
if r == 0:
return 1
else:
return RecursiveCircle(pt, r-1)

pt = rs.GetPoint("Pick starting point")

RecursiveCircle(pt, 10)```

### Rating

Please rate this tutorial below. Thanks.