Skip to content

Commit eed4dcf

Browse files
committed
#5 - Python
1 parent 16e6b90 commit eed4dcf

File tree

1 file changed

+98
-0
lines changed

1 file changed

+98
-0
lines changed
Lines changed: 98 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,98 @@
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

Comments
 (0)