1
+ """
2
+ EJERCICIO:
3
+ - Muestra ejemplos de asignación de variables "por valor" y "por referencia", según
4
+ su tipo de dato.
5
+ - Muestra ejemplos de funciones con variables que se les pasan "por valor" y
6
+ "por referencia", y cómo se comportan en cada caso en el momento de ser modificadas.
7
+ (Entender estos conceptos es algo esencial en la gran mayoría de lenguajes)
8
+
9
+ DIFICULTAD EXTRA (opcional):
10
+ Crea dos programas que reciban dos parámetros (cada uno) definidos como variables anteriormente.
11
+ - Cada programa recibe, en un caso, dos parámetros por valor, y en otro caso, por referencia.
12
+ Estos parámetros los intercambia entre ellos en su interior, los retorna, y su retorno
13
+ se asigna a dos variables diferentes a las originales. A continuación, imprime el valor de las
14
+ variables originales y las nuevas, comprobando que se ha invertido su valor en las segundas.
15
+ Comprueba también que se ha conservado el valor original en las primeras.
16
+ """
17
+
18
+ #*-------------------------------------------------------------------------------------------------------------#
19
+ print ("-----------------------------------------------------------------------------------------------------" )
20
+ print ("Variables por valor:\n " )
21
+ inicio = 156
22
+ print (f"La variable inicio tiene el siguiente valor: { inicio } " )
23
+ fin = inicio
24
+ print (f"La variable fin tendrá el mismo valor que incio: { fin } " )
25
+ fin = 456
26
+ print (f"La variable fin se ha modificado ya hora tiene el siguiente valor: { fin } " )
27
+
28
+ print ("Funciones con variables por valor:\n " )
29
+ def modificar_valor (ini_nuevo ):
30
+ ini_nuevo = 3864
31
+ print (ini_nuevo )
32
+
33
+ ini = 45
34
+ modificar_valor (ini )
35
+ print (ini )
36
+
37
+ #*-------------------------------------------------------------------------------------------------------------#
38
+
39
+ print ("-----------------------------------------------------------------------------------------------------" )
40
+ print ("Variables por Referencia:\n " )
41
+
42
+ notas = [3.5 ,4.6 ,7.8 ,9 ]
43
+ print (f"Esta es una lista con las notas de una materia: { notas } " )
44
+ not_final = notas
45
+ print (f"La nueva lista tendrá el mismo valor que la lista notas: { not_final } " )
46
+ not_final .append (5.6 )
47
+ print (f"La lista not_final se modificó y estos son sus valores: { not_final } " )
48
+
49
+ print ("Funciones con variables por referencia:\n " )
50
+ def modificar_lista (nota_lista ):
51
+ nota_lista .append (6.8 )
52
+ print (nota_lista )
53
+
54
+ nueva_notas = [3.4 ,5.6 ,8.2 ,3.2 ]
55
+ modificar_lista (nueva_notas )
56
+ print (nueva_notas )
57
+
58
+ #*-------------------------------------------------------------------------------------------------------------#
59
+ """
60
+ DIFICULTAD EXTRA (opcional):
61
+ Crea dos programas que reciban dos parámetros (cada uno) definidos como variables anteriormente.
62
+ - Cada programa recibe, en un caso, dos parámetros por valor, y en otro caso, por referencia.
63
+ Estos parámetros los intercambia entre ellos en su interior, los retorna, y su retorno
64
+ se asigna a dos variables diferentes a las originales. A continuación, imprime el valor de las
65
+ variables originales y las nuevas, comprobando que se ha invertido su valor en las segundas.
66
+ Comprueba también que se ha conservado el valor original en las primeras.
67
+ """
68
+
69
+ print ("-----------------------------------------------------------------------------------------------------" )
70
+
71
+ #Para Valor
72
+ print ("Funciones para Valor con dos parametros:\n " )
73
+ def valor (u ,w ):
74
+ u = w * 15
75
+ w = 25 - u
76
+ return u ,w
77
+
78
+ x = 350
79
+ y = 456
80
+ nuevo_x , nuevo_y = valor (x ,y )
81
+ print (f"Los valores definidos anteriormente son: { x ,y } " )
82
+ print (f"Los nuevos valores son: { nuevo_x ,nuevo_y } " )
83
+
84
+ print ("-----------------------------------------------------------------------------------------------------" )
85
+
86
+ #Para Referencia
87
+ print ("Funciones para Referencia con dos parametros:\n " )
88
+ def referencia (list_a ,list_b ):
89
+ list_a = [list_b ,list_a ]
90
+ list_b = list_a
91
+ return list_a , list_b
92
+
93
+ list_u = [3.4 ,5 ,7 ,8 ,9 ]
94
+ list_w = [4 ,8 ,1.2 ,4.3 ,7.6 ]
95
+
96
+ nueva_lista_u , nueva_lista_w = referencia (list_u ,list_w )
97
+ print (f"Los valores definidos anteriormente son: { list_u ,list_w } " )
98
+ print (f"Los nuevos valores son: { nueva_lista_u ,nueva_lista_w } " )
0 commit comments