1
+ '''
2
+ /*
3
+ * EJERCICIO:
4
+ * - Crea ejemplos de funciones básicas que representen las diferentes
5
+ * posibilidades del lenguaje:
6
+ * Sin parámetros ni retorno, con uno o varios parámetros, con retorno...
7
+ * - Comprueba si puedes crear funciones dentro de funciones.
8
+ * - Utiliza algún ejemplo de funciones ya creadas en el lenguaje.
9
+ * - Pon a prueba el concepto de variable LOCAL y GLOBAL.
10
+ * - Debes hacer print por consola del resultado de todos los ejemplos.
11
+ * (y tener en cuenta que cada lenguaje puede poseer más o menos posibilidades)
12
+ *
13
+ * DIFICULTAD EXTRA (opcional):
14
+ * Crea una función que reciba dos parámetros de tipo cadena de texto y retorne un número.
15
+ * - La función imprime todos los números del 1 al 100. Teniendo en cuenta que:
16
+ * - Si el número es múltiplo de 3, muestra la cadena de texto del primer parámetro.
17
+ * - Si el número es múltiplo de 5, muestra la cadena de texto del segundo parámetro.
18
+ * - Si el número es múltiplo de 3 y de 5, muestra las dos cadenas de texto concatenadas.
19
+ * - La función retorna el número de veces que se ha impreso el número en lugar de los textos.
20
+ *
21
+ * Presta especial atención a la sintaxis que debes utilizar en cada uno de los casos.
22
+ * Cada lenguaje sigue una convenciones que debes de respetar para que el código se entienda.
23
+ */
24
+ '''
25
+
26
+ #############################
27
+ #### FUNCIONES ####
28
+ #############################
29
+
30
+ # Funciones simples
31
+ def greet ():
32
+ print ("Funciones simples: " )
33
+ print ("Hola, Python!" )
34
+ greet ()
35
+
36
+
37
+ # Funciones con retorno
38
+ def return_greet ():
39
+ print ("Funciones con retorno: " )
40
+ return ("Hola, Python retornado!" )
41
+ greet = return_greet ()
42
+ print (greet )
43
+
44
+ # Funciones con argumento
45
+ def arg_greet (name ):
46
+ print ("Funciones con argumento: " )
47
+ print (f"Hola, { name } !" )
48
+ arg_greet ("Luis" )
49
+
50
+ def args_greet (greet , name ):
51
+ print ("Funciones con argumentos sin ordenar: " )
52
+ print (f"{ greet } , { name } !" )
53
+ args_greet (name = "Luis" , greet = "Hi!" )
54
+
55
+ # Funciones con argumento predeterminado
56
+ def default_arg_greet (name = "Brais default" ):
57
+ print ("Funciones con argumento predeterminado: " )
58
+ print (f"Hola, { name } !" )
59
+ default_arg_greet ()
60
+ default_arg_greet ("Luis" )
61
+
62
+ # Funciones con argumento y retorno
63
+ def return_args_greet (greet , name ):
64
+ print ("Funciones con argumentos y retorno: " )
65
+ return (f"{ greet } , { name } !" )
66
+ print (return_args_greet ("Hi" , "Luis!" ))
67
+
68
+ # Funciones con retorno de varios valores
69
+ def multiple_return_greet ():
70
+ print ("Funciones con retorno de varios valores: " )
71
+ return "Hola" , "Python"
72
+ greet , name = multiple_return_greet ()
73
+ print (greet )
74
+ print (name )
75
+
76
+ # Funciones con un número variable de argumentos
77
+ def variable_arg_greet (* names ):
78
+ print ("Funciones con un número variable de argumentos: " )
79
+ for name in names :
80
+ print (f"Hola, { name } !" )
81
+ variable_arg_greet ("Python" , "Luis" , "comunidad" )
82
+
83
+ # Funciones con un número variable de argumentos con palabra clave
84
+ def variable_key_arg_greet (** names ): # En realidad crea un DICCIONARIO
85
+ print ("Funciones con un número variable de argumentos con palabra clave: " )
86
+ for key , value in names .items ():
87
+ print (f"Hola, { value } ({ key } )!" )
88
+ variable_key_arg_greet (
89
+ language = "Python" ,
90
+ name = "Luis" ,
91
+ age = 53
92
+ )
93
+
94
+
95
+
96
+
97
+ #################################################
98
+ #### FUNCIONES DENTRO DE FUNCIONES ####
99
+ #################################################
100
+
101
+ def outer_function ():
102
+ def inner_function ():
103
+ print ("Funcion interna: Hola, Python!" )
104
+ inner_function () # Hay que llamarla desde dentro
105
+ outer_function ()
106
+
107
+
108
+ #################################################
109
+ #### FUNCIONES DEL LENGUAJE (BUILT-IN) ####
110
+ #################################################
111
+ print ("Funciones del lenguaje o built-in" )
112
+ print (len ("mi nombre es Luis" ))
113
+ print (type (26 ))
114
+ print ("mi nombre es Luis" .upper ())
115
+
116
+
117
+ #################################################
118
+ #### VARIABLES LOCALES Y GLOBALES ####
119
+ #################################################
120
+
121
+ global_variable = "Variable global"
122
+ print (global_variable )
123
+ def local_variable ():
124
+ print (f"Hello, { global_variable } " )
125
+ mi_local_variable = "variable local de la funcion"
126
+ print (f"Imprimo desde dentro, { mi_local_variable } " )
127
+ local_variable ()
128
+ # print(mi_local_variable) No se puede acceder desde fuera
129
+ print ("No me deja imprimir mi_local_variable porque no la encuentra desde fuera" )
130
+
131
+
132
+ #################################################
133
+ #### EJERCICIO DE DIFICULTAD EXTRA ####
134
+ #################################################
135
+
136
+ def print_numbers (text1 , text2 )-> int :
137
+ count = 0
138
+ for number in range (1 , 101 ):
139
+ if number % 3 == 0 and number % 5 == 0 :
140
+ print (text1 , text2 )
141
+ elif number % 3 == 0 :
142
+ print (text1 )
143
+ elif number % 5 == 0 :
144
+ print (text2 )
145
+ else :
146
+ print (number )
147
+ count += 1 # Incrementa cuando imprimos número
148
+ return count
149
+
150
+ print (print_numbers ("Fizz" , "Buzz" )) # Imprime el return
0 commit comments