1
- ### FILES & STRUCTURES
2
- # What's in here:
3
- # 1. Files
4
- # 2. Functions
5
- # 3. Exceptions
6
- # 4. Data Types
7
- # 4.1 Tuple
8
- # 4.2 Dictionary
9
- # 4.3 Container
10
- # 4.4 Sets
11
- # 5. Zip function
12
- # 6. Comprehension
13
- # 7. References and mutability
14
-
15
- # - - - - - - - - - - 1. FILES - - - - - - - - - - #
16
- # abrir
17
- fp1 = open ('../bar.txt' , 'wt' ) # 'w' de write, 't' de text
18
- fp2 = open ('foo.txt' , 'rt' ) # 'r' de read, 't' de text
19
-
20
- #escribir
21
- fp1 .write ('Un texto' )
22
-
23
- #leer
24
- data = fp2 .read ()
25
-
26
- #cerrar
27
- fp1 .close ()
28
- fp2 .close ()
29
-
30
- #leer con comando with (cierre automático)
31
- # 1. archivo entero
32
- with open ('foo.txt' , 'rt' ) as file :
33
- data = file .read ()
34
- # `data` es una cadena con todo el texto en `foo.txt`
35
-
36
- # 2. linea por linea
37
- with open ('foo.txt' , 'rt' ) as file :
38
- for line in file :
39
- print (line )
40
-
41
-
42
- # escribir con comando with (cierre automático)
43
- # cadenas
44
- with open ('outfile' , 'wt' ) as out :
45
- out .write ('Hello World\n ' )
46
-
47
-
48
- # - - - - - - - - - - 2. FUNCTIONS - - - - - - - - - - #
49
- #funcion clásica
50
- def sumcount (n ):
51
- total = 0
52
- while n > 0 :
53
- total += n
54
- n -= 1
55
- return total
56
-
57
- a = sumcount (100 )
58
- print (a )
59
-
60
- # funciones de biblioteca
61
- import math
62
- x = math .sqrt (10 )
63
- print (round (x , 2 ))
64
-
65
- # break --> saltear actual iteración y pasar a la siguiente
66
- numeros = [1 , 2 , 3 , 4 , 5 ]
67
- for i in numeros :
68
- print (i )
69
- if i == 3 :
70
- break
71
- print ('bucle finalizado' ,'ultimo valor de i' ,i )
72
-
73
- # continue
74
- numeros = [1 , - 5 , 2 , - 8 , 10 ]
75
- # imprimo los cuadrados de los números positivos
76
- for i in numeros :
77
- if i <= 0 :
78
- continue
79
- print (i ** 2 )
80
-
81
- # import urllib.request
82
- # u = urllib.request.urlopen('http://www.python.org/')
83
- # data = u.read()
84
-
85
- # - - - - - - - - - - 3. EXCEPCIONES - - - - - - - - - - #
86
- # excepción clásica
87
- num_valido = False
88
- while not num_valido :
89
- try :
90
- a = int (input ('Ingresa un entero: ' ))
91
- num_valido = True
92
- except ValueError : # atrapo excepcion y repito ciclo
93
- print ('No ingresaste un entero' )
94
- print (f'Ingresaste { a } ' )
95
-
96
- # generar excepción
97
- raise RuntimeError ('¡Qué cagada!' )
98
-
99
-
100
- # TODO: - - - - - - - - - - 4. TIPOS DE DATOS - - - - - - - - - - #
1
+ ## STRUCTURES
2
+ # 1. Data Types
3
+ # 1.1 Tuple
4
+ # 1.2 Dictionary
5
+ # 1.3 Container
6
+ # 1.4 Sets
7
+ # 2. Zip function
8
+ # 3. Comprehension
9
+ # 4. References and mutability
10
+
11
+ # TODO: - - - - - - - - - - 1. TIPOS DE DATOS - - - - - - - - - - #
101
12
# type None
102
13
email_address = None
103
14
if (email_address ):
104
15
print ('En condicionales, None evalúa como False' )
105
16
106
- # . . . . . . 4 .1 TUPLAS . . . . . . .
17
+ # . . . . . . 1 .1 TUPLAS . . . . . . .
107
18
# para representar registros o estructuras simples (un solo objeto con múltiples partes)
108
19
# Contienen una serie de elementos ordenados (indexados), que pueden ser repetidos.
109
20
# Son inmutables, no están pensadas para ser modificadas
@@ -166,7 +77,7 @@ def sumcount(n):
166
77
dates = list (unzip [1 ]) #['07/09', '11/11']
167
78
168
79
169
- # TODO: . . . . . . 4 .2 DICCIONARIOS . . . . . . .
80
+ # TODO: . . . . . . 1 .2 DICCIONARIOS . . . . . . .
170
81
# Función que manda claves en valores. Las claves sirven como índices para acceder a los valores.
171
82
# Son útiles cuando hay muchos valores diferentes y esos valores pueden ser modificados o manipulados.
172
83
# Dado que el acceso a los elementos se hace por clave, no es necesario recordar una posición para cierto dato:
@@ -204,7 +115,7 @@ def sumcount(n):
204
115
print (claves ) #dict_keys(['nombre', 'cajones', 'precio', 'fecha', 'cuenta'])
205
116
206
117
207
- # TODO: . . . . . . 4 .3 CONTENEDORES . . . . . . .
118
+ # TODO: . . . . . . 1 .3 CONTENEDORES . . . . . . .
208
119
# . . . listas como contenedores
209
120
# Usá listas cuando el orden de los datos importe. Acordate de que las listas pueden contener cualquier tipo de objeto.
210
121
# Son mutables, pueden ser modificadas sin definir una nueva lista.3
@@ -290,7 +201,7 @@ def sumcount(n):
290
201
291
202
feriados [(1 , 5 )] #'Día del trabajador'
292
203
293
- # TODO: . . . . . . 4 .4 CONJUNTOS . . . . . . .
204
+ # TODO: . . . . . . 1 .4 CONJUNTOS . . . . . . .
294
205
#Un conjunto es una colección de elementos únicos sin orden y sin repetición.
295
206
citricos = { 'Naranja' ,'Limon' ,'Mandarina' } #set literal
296
207
citricos = set (['Naranja' , 'Limon' , 'Mandarina' ]) #set
@@ -315,7 +226,7 @@ def sumcount(n):
315
226
s1 - s2 # Diferencia de conjuntos
316
227
317
228
318
- # TODO: . . . . . . 5 . FUNCIÓN ZIP . . . . . . .
229
+ # TODO: . . . . . . 2 . FUNCIÓN ZIP . . . . . . .
319
230
# trabajar sobre dos listas al mismo tiempo
320
231
nombres = ['Juan' , 'Elsa' , 'Ingrid' , 'Carlos' , 'Federico' ]
321
232
apellidos = ['Pérez' , 'Gómez' , 'Muller' , 'Tacha' , 'Higgins' ]
@@ -348,7 +259,7 @@ def sumcount(n):
348
259
print (list (zip (* alumnos ))) # [('Carlos Gómez', 'Gabriela Torres', 'Juan Pérez', 'Éric Guay', 'Juana Monte', 'Carla Díaz'), (41008418, 45790918, 48327044, 35360531, 31583398, 43772387), (5, 8, 9, 7, 10, 6)]
349
260
350
261
351
- # TODO: . . . . . . 6 . COMPRENSIÓN LISTAS Y DICCIONARIOS . . . . . . .
262
+ # TODO: . . . . . . 3 . COMPRENSIÓN LISTAS Y DICCIONARIOS . . . . . . .
352
263
# La comprensión de listas crea un una nueva lista aplicando una operación a cada elemento de una secuencia
353
264
a = [1 , 2 , 3 , 4 , 5 ]
354
265
b = [2 * x for x in a ] # Creo una lista con el doble de los elementos de a
@@ -389,7 +300,7 @@ def sumcount(n):
389
300
suma_pares = sum (n for n in numeros if (n % 2 )== 0 )
390
301
print (suma_pares ) # 24
391
302
392
- # TODO: - - - - - - - - 7 . REFERENCIAS Y MUTABILIDAD - - - - - - - - - - #
303
+ # TODO: - - - - - - - - 4 . REFERENCIAS Y MUTABILIDAD - - - - - - - - - - #
393
304
# enteros inmutables
394
305
a = 10
395
306
b = a
0 commit comments