summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/03_estructura.md30
1 files changed, 17 insertions, 13 deletions
diff --git a/src/03_estructura.md b/src/03_estructura.md
index 68dde35..9d8cd5e 100644
--- a/src/03_estructura.md
+++ b/src/03_estructura.md
@@ -81,7 +81,7 @@ A esto se le conoce como *control de flujo*.
Las condicionales son herramientas de *control de flujo* que permiten separar
la ejecución en diferentes ramas en función de unas condiciones. En python sólo
-existe el condicional `if` (si, en castellano), aunque existen otras
+existe el condicional `if` («si», en castellano), aunque existen otras
estructuras para conseguir el mismo efecto, no las trataremos aún.
Ésta es la sintaxis del `if`:
@@ -93,8 +93,8 @@ elif condiciónN:
# Este bloque (opcional) se ejecuta si las condiciones previas no se
# cumplen y la condiciónN sí se cumple
else:
- # Este bloque (opcional) se ejecuta si todas las condiciones previas no
- # se cumplen
+ # Este bloque (opcional) se ejecuta si no se cumplen todas las condiciones
+ # previas
```
Tal y como se muestra en el ejemplo, los bloques `elif` y el bloque `else` son
@@ -115,7 +115,7 @@ no, lo que deciden es si es necesario repetirla en función de una condición.
##### While
-El `while` (mientras que) es la más sencilla de estas estructuras, y la menos
+El `while` («mientras que») es la más sencilla de estas estructuras, y la menos
usada.
``` python
@@ -131,7 +131,7 @@ Es decir, ejecuta el bloque *mientras que* la condición se cumple.
##### For
-Los bucles *for* (para) son los más complejos y más usados,
+Los bucles *for* («para») son los más complejos y más usados,
``` python
for preparación:
@@ -214,6 +214,10 @@ Como mejor se entiende es con unos ejemplos, en este caso vamos usar la función
`range` para crear una lista de números del `0` (inclusive) al `10` (no
inclusive). Usando la ayuda puedes saber más sobre la función `range`.
+
+> TODO:
+> Mejorar este ejemplo, es demasiado simple
+
``` python
>>> [i**2 for i in range(0, 10)]
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
@@ -236,8 +240,8 @@ secuencia de números al cuadrado. Pero las *list comprehensions* son más
poderosas que eso, pudiendo a llegar a complicarse sobremanera añadiendo
condiciones, como en el último de los ejemplos, para filtrar algunos casos.
-Te habrá mosqueado el uso de `tuple` para crear la tupla. Todo tiene una razón,
-la tupla, al estar formada por paréntesis, python no tiene claro si son
+Te habrá mosqueado el uso de `tuple` para crear la tupla. Todo tiene una razón.
+La tupla, al estar formada por paréntesis, python no tiene claro si son
paréntesis de precedencia o de creación de tupla, y considera que son los
primeros, dando como resultado un generador, un paso intermedio de nuestro
proceso que dejamos para el futuro.
@@ -266,7 +270,7 @@ sabiendas que nuestro programa terminará indicando un error.
Hay ocasiones en las que las excepciones pueden capturarse y otras no, por
ejemplo, los fallos de sintaxis no pueden solventarse.
-Las excepciones se capturan en con un `try-except` que, si programas en otros
+Las excepciones se capturan con un `try-except` que, si programas en otros
lenguajes como Java, probablemente conozcas como `try-catch`.
```python
@@ -288,7 +292,7 @@ Además de capturarse, las excepciones pueden lanzarse con la sentencia `raise`.
``` python
if not input:
- raise ValueError("Not valid input")
+ raise ValueError("Invalid input")
```
Si el ejemplo anterior se diera dentro de una pieza de código que no podemos
@@ -325,8 +329,8 @@ encuentra en nuestro programa.
Las funciones sirven, sobre todo, para reutilizar código. Si una pieza de
código se utiliza en más de una ocasión en tu programa, es una buena candidata
-para agruparse en una función y poder reutilizarla sin necesidad de copiar y
-pegar el código fuente. Aunque sirven para más fines y tienen detalles que
+para agruparse en una función y poder reutilizarla sin necesidad de duplicar
+el código fuente. Aunque sirven para más fines y tienen detalles que
aclararemos en un capítulo propio, en este apartado adelantaremos cómo se
definen y cómo lanzan y posteriormente las analizaremos en detalle.
@@ -511,7 +515,7 @@ en muchas ocasiones.
Es difícil resumir todo lo que has aprendido en este capítulo porque, la verdad
es que es mucha información. Pero no pasa nada porque este capítulo se ha
-creado más como referencia que como otra cosa. No tengas miedo en volver a
+creado más como referencia que como otra cosa. No tengas miedo a volver a
leerlo todas las veces que necesites. A todos se nos olvida cómo hay que
declarar las funciones si llevamos mucho tiempo sin tocar python, o si era
`try-catch` o `try-except`. Este capítulo pretende, por un lado, darte una
@@ -538,7 +542,7 @@ Las sentencias útiles que hemos recopilado al final permiten juguetear con
todas las estructuras que hemos definido en el capítulo de modo que puedas
usarlas a tu antojo de forma cómoda. Algunas de ellas como `continue` y `break`
no son realmente necesarias, puede programarse evitándolas y, de hecho, en
-algunos lugares enseñan a no usarlas como si de una buena práctica se tratara
+algunos lugares enseñan a no usarlas, como si de una buena práctica se tratara,
cambiando las condiciones de los bucles para que hagan esta labor. En este
documento se muestran porque, en primer lugar, si lees código escrito por otras
personas las encontrarás y tendrás que entender qué hacen y, en segundo, porque