1+ '''
2+ - Crea ejemplos de funciones básicas que representen las diferentes
3+ posibilidades del lenguaje:
4+ Sin parámetros ni retorno, con uno o varios parámetros, con retorno...
5+ '''
6+ # Funciones sin parámetros, ni retorno
7+ def sinParametrosSinRetorno ():
8+ print ('Esto es una función sin parámetros, ni retorno' )
9+
10+ sinParametrosSinRetorno ()
11+
12+ # Funciones con parámetros y sin retorno
13+ def conParametrosSinRetorno (text ):
14+ print (text )
15+
16+ conParametrosSinRetorno ('Esto es una función con parámetros y sin retorno' )
17+
18+ # Funciones sin parámetros y con retorno
19+ def sinParametrosConRetrno ():
20+ return 'Esto es una función sin parámetros y con retorno'
21+
22+ print (sinParametrosConRetrno ())
23+
24+ # Funciones con parámetros y con retorno
25+ def conParametrosConRetorno (text = 'Esto es un texto por defecto' ):
26+ return text
27+
28+ # Función con parámetro por defecto
29+ print (conParametrosConRetorno ('Esto es una función con parámetros y con retorno' ))
30+ print (conParametrosConRetorno ())
31+
32+ # Función con más de un parámetro
33+ def saludo (nombre = 'Joe' , saludo = 'hi' ):
34+ return f'{ saludo } { nombre } '
35+
36+ print (saludo ('Gabriel' , 'Hola' ))
37+ print (saludo ())
38+
39+ # Función con número indefinido de parámetros
40+ def numeros (* numeros ):
41+ return numeros
42+
43+ print (numeros (2 , 4 , 6 , 8 , 10 ))
44+
45+ '''
46+ - Comprueba si puedes crear funciones dentro de funciones.
47+ '''
48+
49+ def funcion ():
50+ def funcion_dentro_otra ():
51+ return 'Si se puede jaja'
52+
53+ return funcion_dentro_otra ();
54+
55+ print (funcion ())
56+
57+ ''' - Utiliza algún ejemplo de funciones ya creadas en el lenguaje. '''
58+
59+ # print() es una función de python
60+ print ('Imprimo algo' )
61+
62+ # Valor absoluto de un número
63+ print (f'El valor absoluto de -1 es { abs (- 1 )} ' )
64+
65+ texto = 'Hola que tal me llamo Gabriel'
66+
67+ # Tamaño de un texto
68+ print (f'El tamaño del texto: "{ texto } " es de { len (texto )} carácteres' )
69+
70+ # Tipo de una variable
71+ print (f'El tipo de la variable con el valor: "{ texto } " es { type (texto )} ' )
72+
73+ # Texto en mayúscula
74+ print (f'Ahora si imprimimos ese texto en mayúsculas quedaría: "{ texto .upper ()} "' )
75+
76+ '''
77+ - Pon a prueba el concepto de variable LOCAL y GLOBAL.
78+ '''
79+ var_global = 29 # Variable global, se puede acceder en cualquier parte del programa
80+
81+ def funcion ():
82+ var_local = 31 # Variable local, se puede acceder solo en esta función
83+ print (var_local ) # Se imprime correctamente
84+
85+ print (var_global ) # Se imprime correctamente
86+ funcion ()
87+ # print(var_local) # Ocurre un error
88+
89+ '''
90+ DIFICULTAD EXTRA
91+ Crea una función que reciba dos parámetros de tipo cadena de texto y retorne un número.
92+ - La función imprime todos los números del 1 al 100. Teniendo en cuenta que:
93+ - Si el número es múltiplo de 3, muestra la cadena de texto del primer parámetro.
94+ - Si el número es múltiplo de 5, muestra la cadena de texto del segundo parámetro.
95+ - Si el número es múltiplo de 3 y de 5, muestra las dos cadenas de texto concatenadas.
96+ - La función retorna el número de veces que se ha impreso el número en lugar de los textos.
97+ '''
98+
99+ def print_numbers (texto1 , texto2 ):
100+ cont = 0
101+ for i in range (1 , 101 ):
102+ if i % 3 == 0 and i % 5 == 0 :
103+ print (f'{ i } . { texto1 } , { texto2 } ' )
104+ elif i % 3 == 0 :
105+ print (f'{ i } . { texto1 } ' )
106+ elif i % 5 == 0 :
107+ print (f'{ i } . { texto2 } ' )
108+ else :
109+ print (i )
110+ cont += 1
111+
112+ return f'Fueron { cont } veces que se imprimió sólo un número'
113+
114+ print (print_numbers ('Estoy comiendo' , 'En un restaurante' ))
0 commit comments