1+ """
2+ * EJERCICIO:
3+ * - Crea ejemplos de funciones básicas que representen las diferentes
4+ * posibilidades del lenguaje:
5+ * Sin parámetros ni retorno, con uno o varios parámetros, con retorno...
6+ * - Comprueba si puedes crear funciones dentro de funciones.
7+ * - Utiliza algún ejemplo de funciones ya creadas en el lenguaje.
8+ * - Pon a prueba el concepto de variable LOCAL y GLOBAL.
9+ * - Debes hacer print por consola del resultado de todos los ejemplos.
10+ * (y tener en cuenta que cada lenguaje puede poseer más o menos posibilidades)
11+ *
12+ * DIFICULTAD EXTRA (opcional):
13+ * Crea una función que reciba dos parámetros de tipo cadena de texto y retorne un número.
14+ * - La función imprime todos los números del 1 al 100. Teniendo en cuenta que:
15+ * - Si el número es múltiplo de 3, muestra la cadena de texto del primer parámetro.
16+ * - Si el número es múltiplo de 5, muestra la cadena de texto del segundo parámetro.
17+ * - Si el número es múltiplo de 3 y de 5, muestra las dos cadenas de texto concatenadas.
18+ * - La función retorna el número de veces que se ha impreso el número en lugar de los textos.
19+ *
20+ * Presta especial atención a la sintaxis que debes utilizar en cada uno de los casos.
21+ * Cada lenguaje sigue una convenciones que debes de respetar para que el código se entienda.
22+ """
23+ # Funciones definidas por el usuario
24+
25+ # Simple
26+ def saludo ():
27+ print ("Hola! Soy una función simple" )
28+
29+ saludo ()
30+
31+
32+ # Con retorno
33+ def return_saludo ():
34+ return "Hola, Función con retorno"
35+
36+ print (return_saludo ())
37+
38+
39+ # Con un argumento
40+ def arg_saludo (nombre ):
41+ print (f"Hola, { nombre } !" )
42+
43+ arg_saludo ("José Alberto" )
44+
45+
46+ # Con varios argumentos
47+ def arg_personal (nombre , edad , sexo , nacionalidad ):
48+ print (f"Nombre: { nombre } . Edad: { edad } . Sexo: { sexo } . Nacionalidad: { nacionalidad } " )
49+
50+ arg_personal ("José" , 26 , "Masculino" , "Venezolana" )
51+
52+
53+ # Con un argumento predeterminado (si es que no se diera el argumento del parámetro)
54+ def default_arg_saludo (nombre = "Usuario" ):
55+ print (f"Bienvenido, { nombre } !" )
56+
57+ default_arg_saludo ()
58+ default_arg_saludo ("Figueroa" )
59+
60+
61+ # Con argumentos y return
62+ def args_return (saludo , persona ):
63+ return f"{ saludo } , { persona } "
64+
65+ print (args_return ("Hola!" ,"José A." ))
66+
67+
68+ # Con retorno de valores separados
69+ def multiple_return_saludo ():
70+ return "Hola" , "Python"
71+
72+ saludo , name = multiple_return_saludo ()
73+ print (saludo )
74+ print (name )
75+
76+
77+ # Con un número variable de argumentos
78+ def variable_arg_saludo (* nombres ):
79+ for nombres in nombres :
80+ print (f"Hola, { nombres } !" )
81+
82+ variable_arg_saludo ("Mundo" , "Python" , "Git" , "José" , "MoureDev" )
83+
84+
85+ # Con un número variable de argumentos con palabra clave
86+ def variable_key_arg (** nombres ):
87+ for key , value in nombres .items ():
88+ print (f"{ key } : '{ value } '" )
89+
90+ variable_key_arg (
91+ lenguaje = "Python" ,
92+ nombre = "José" ,
93+ ocupacion = "Estudiante" ,
94+ alias = "JoseAlberto13" ,
95+ años = 26
96+ )
97+
98+
99+ # Funciones dentro de Funciones
100+ def outer_function ():
101+ def inner_function ():
102+ print ("inner function: Función dentro de la función" )
103+ inner_function ()
104+
105+ outer_function ()
106+
107+
108+ # Funciones dentro del lenguaje
109+ print (len ("José" ))
110+ print (type (25.5 ))
111+ print (sorted ({4 ,2 ,7 ,1 ,5 ,6 ,3 }))
112+
113+
114+ # Variables locales y globales
115+ variable_global = "Esto es global!"
116+ print (variable_global )
117+
118+ def conVaribale_Global ():
119+ variable_local = "Esto es local!"
120+ print (f"Funciónes: local={ variable_local } global={ variable_global } " )
121+
122+ conVaribale_Global ()
123+
124+ print (variable_global )
125+ # print(variable_local) no funciona fuera de la funcion definida
126+
127+
128+ """
129+ DIFICULTAD EXTRA
130+ """
131+
132+ def lafuncion (texto1 , texto2 ) -> int :
133+ count = 0
134+ for i in range (1 ,101 ):
135+ if i % 5 == 0 and i % 3 == 0 :
136+ print (texto1 + texto2 )
137+ elif i % 3 == 0 :
138+ print (texto1 )
139+ elif i % 5 == 0 :
140+ print (texto2 )
141+ else :
142+ print (i )
143+ count += 1
144+ return count
145+
146+ print (lafuncion ("Texto #1" ,"Texto #2" ))
0 commit comments