Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Traducción 1.4.12 #55

Merged
merged 2 commits into from
Mar 16, 2021
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
83 changes: 44 additions & 39 deletions docs/1.md
Original file line number Diff line number Diff line change
Expand Up @@ -1103,33 +1103,32 @@ Nota IMPORTANTE:
Empiece por definir una cadena que contenga una serie de símbolos de cotización bursátil como este:

```python
>>> symbols = 'AAPL,IBM,MSFT,YHOO,SCO'
>>> simbolos = 'AAPL,IBM,MSFT,YHOO,SCO'
>>>
```

#### Ejercicio 1.13: Extracción de caracteres individuales y subcadenas

Las cadenas son matrices de caracteres. Intente extraer algunos caracteres:

```python
>>> symbols[0]
>>> simbolos[0]
?
>>> symbols[1]
>>> simbolos[1]
?
>>> symbols[2]
>>> simbolos[2]
?
>>> symbols[-1] # Ultimo caracter
>>> simbolos[-1] # Ultimo caracter
?
>>> symbols[-2] # Indices negativos son desde el final
>>> simbolos[-2] # Indices negativos son desde el final
?
>>>
```

En Python, las cadenas son de solo lectura.
Verifique esto intentando cambiar el primer carácter de `symbols` a una minúscula 'a'.
Verifique esto intentando cambiar el primer carácter de 'símbolos' a una minúscula 'a'.

```python
>>> symbols[0] = 'a'
>>> simbolos[0] = 'a'
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'str' object does not support item assignment
Expand All @@ -1138,47 +1137,48 @@ TypeError: 'str' object does not support item assignment

#### Ejercicio 1.14: Concatenación de caracteres

Although string data is read-only, you can always reassign a variable to a newly created string.
A pesar de que el valor de la cadena es solo para leer, siempre puedes reasignarle otra variable a una cadena nueva.

Intenta realalizar la siguientes sentencias que concatenan a un nuevo símbolo "GOOG" al final de `simbolos`:

Try the following statement which concatenates a new symbol "GOOG" to the end of `symbols`:

```python
>>> symbols = symbols + 'GOOG'
>>> symbols
>>> simbolos= simbolos + 'GOOG'
>>> simbolos
'AAPL,IBM,MSFT,YHOO,SCOGOOG'
>>>
```

¡Ups! Eso no es lo que querías. Corríjelo para que la variable `symbols` contenga el valor` 'AAPL, IBM, MSFT, YHOO, SCO, GOOG'`.
¡Ups! Eso no es lo que querías. Corríjelo para que la variable `símbolos` contenga el valor` 'AAPL, IBM, MSFT, YHOO, SCO, GOOG'`.

```python
>>> symbols = ?
>>> symbols
>>> simbolos= ?
>>> simbolos
'AAPL,IBM,MSFT,YHOO,SCO,GOOG'
>>>
```

Agregue `'HPQ'` al frente de la cuerda

```python
>>> symbols = ?
>>> symbols
>>> simbolos = ?
>>> simbolos
'HPQ,AAPL,IBM,MSFT,YHOO,SCO,GOOG'
>>>
```

En estos ejemplos, puede parecer que la cadena original está siendo modificado, en una aparente violación de que las cadenas sean de solo lectura. No entonces. Las operaciones en cadenas crean una cadena completamente nueva cada una hora. Cuando se reasigna el nombre de la variable `símbolos`, apunta al cadena recién creada. Posteriormente, la cuerda vieja se destruye ya que ya no se usa.
En estos ejemplos, puede parecer que la cadena original está siendo modificado, en una aparente violación de que las cadenas sean de solo lectura. No entonces. Las operaciones en cadenas crean una cadena completamente nueva cada una hora. Cuando se reasigna el nombre de la variable `simbolos`, apunta al cadena recién creada. Posteriormente, la cuerda vieja se destruye ya que ya no se usa.

#### Ejercicio 1.15: Pruebas de membresía

Experimente con el operador "in" para buscar subcadenas. En el mensaje interactivo, pruebe estas operaciones:

```python
>>> 'IBM' in symbols
>>> 'IBM' in simbolos
?
>>> 'AA' in symbols
>>> 'AA' in simbolos
True
>>> 'CAT' in symbols
>>> 'CAT' in simbolos
?
>>>
```
Expand All @@ -1190,34 +1190,34 @@ True
En el indicador interactivo de Python, intente experimentar con algunos de los métodos de cadena.

```python
>>> symbols.lower()
>>> simbolos.lower()
?
>>> symbols
>>> simbolos
?
>>>
```

Recuerde, las cadenas siempre son de solo lectura. Si desea guardar el resultado de una operación, debe colocarlo en una variable:

```python
>>> lowersyms = symbols.lower()
>>> simbolosminusc = simbolos.lower()
>>>
```

Pruebe algunas operaciones más:


```python
>>> symbols.find('MSFT')
>>> simbolos.find('MSFT')
?
>>> symbols[13:17]
>>> simbolos[13:17]
?
>>> symbols = symbols.replace('SCO','DOA')
>>> symbols
>>> simbolos = simbolos.replace('SCO','DOA')
>>> simbolos
?
>>> name = ' IBM \n'
>>> name = name.strip() # Remove surrounding whitespace
>>> name
>>> nombre = ' IBM \n'
>>> nombre = nombre.strip() # Eliminar los espacios en blanco restantes
>>> nombre
?
>>>
```
Expand Down Expand Up @@ -1247,14 +1247,17 @@ Intente hacer que la salida esté bien alineada.
Una limitación de las operaciones básicas con cadenas es que no admite cualquier tipo de coincidencia de patrones avanzada. Por eso tu Necesito recurrir al módulo `re` y las expresiones regulares de Python. El manejo de expresiones regulares es un gran tema, pero aquí hay un breve ejemplo:

```python
>>> text = 'Today is 3/27/2018. Tomorrow is 3/28/2018.'
>>> # Find all occurrences of a date
>>> texto= 'Hoy es 3/27/2018. Mañaña sera 3/28/2018.'
>>> # Encontrar todos los eventos de una fecha
>>> import re
>>> re.findall(r'\d+/\d+/\d+', text)
>>> re.findall(r'\d+/\d+/\d+', texto)

['3/27/2018', '3/28/2018']
>>> # Replace all occurrences of a date with replacement text
>>> re.sub(r'(\d+)/(\d+)/(\d+)', r'\3-\1-\2', text)
'Today is 2018-3-27. Tomorrow is 2018-3-28.'
# Reemplazar todos los sucesos de una fecha con el texto de reemplazo

>>> re.sub(r'(\d+)/(\d+)/(\d+)', r'\3-\1-\2', texto)
'Hoy es 2018-3-27. Mañana será 2018-3-28.'
>>>
```

Expand All @@ -1270,15 +1273,15 @@ esta:


```python
>>> s = 'hello world'
>>> s = 'hola mundo'
>>> s.<tab key>
>>>
```

Si presionar tab no hace nada, puede volver al función incorporada `dir()`. Por ejemplo:

```python
>>> s = 'hello'
>>> s= 'hola'
>>> dir(s)
['__add__', '__class__', '__contains__', ..., 'find', 'format',
'index', 'isalnum', 'isalpha', 'isdigit', 'islower', 'isspace',
Expand All @@ -1295,13 +1298,15 @@ Si presionar tab no hace nada, puede volver al función incorporada `dir()`. Por
```python
>>> help(s.upper)
Help on built-in function upper:
Ayuda para construir una función en mayúscula:

upper(...)
S.upper() -> string

Return a copy of the string S converted to uppercase.
>>>
```
####

## 1.5 Listas

Expand Down