Skip to content

Commit 5d96117

Browse files
authored
Merge pull request mouredev#7432 from santiagobailleres/ej00
#6 - Python
2 parents fa62108 + 563f97a commit 5d96117

File tree

1 file changed

+59
-0
lines changed

1 file changed

+59
-0
lines changed
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
'''EJERCICIO:
2+
Entiende el concepto de recursividad creando una función recursiva que imprima
3+
números del 100 al 0.
4+
DIFICULTAD EXTRA (opcional):
5+
Utiliza el concepto de recursividad para:
6+
- Calcular el factorial de un número concreto (la función recibe ese número).
7+
- Calcular el valor de un elemento concreto (según su posición) en la sucesión de Fibonacci (la función recibe la posición).'''
8+
9+
# Recursividad para imprimir números del 100 al 0
10+
def recursividad(n):
11+
if n >= 0:
12+
print(n)
13+
recursividad(n-1)
14+
15+
recursividad(100)
16+
17+
# EXTRA
18+
# Recursividad para calcular el factorial de un número
19+
def factorial(n:int):
20+
if n < 0:
21+
print("No se puede calcular el factorial de un número negativo")
22+
return 0
23+
elif n == 0:
24+
return 1
25+
else:
26+
return n * factorial(n-1)
27+
28+
print(factorial(4))
29+
30+
# Recursividad para calcular el valor de un elemento en la sucesión de Fibonacci: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34... es decir, el siguiente número es la suma de los dos anteriores
31+
def fibonacci(n:int):
32+
if n <= 0:
33+
print("La posición debe ser mayor a 0")
34+
return 0
35+
elif n == 1:
36+
return 0
37+
elif n == 2:
38+
return 1
39+
else:
40+
return fibonacci(n-1) + fibonacci(n-2)
41+
42+
print(fibonacci(6))
43+
44+
# Otra forma de hacerlo
45+
def fibonacci2(n:int):
46+
if n <= 0:
47+
print("La posición debe ser mayor a 0")
48+
return 0
49+
elif n == 1:
50+
return 0
51+
elif n == 2:
52+
return 1
53+
else:
54+
a, b = 0, 1
55+
for i in range(2, n):
56+
a, b = b, a+b
57+
return b
58+
59+
print(fibonacci2(6))

0 commit comments

Comments
 (0)