PDF de programación - Introducción a la programación con Python

Imágen de pdf Introducción a la programación con Python

Introducción a la programación con Pythongráfica de visualizaciones

Actualizado el 31 de Mayo del 2020 (Publicado el 1 de Marzo del 2018)
1.318 visualizaciones desde el 1 de Marzo del 2018
3,3 MB
399 paginas
Creado hace 13a (25/09/2006)
Introducci´on a la programaci´on

con Python

Andr´es Marzal

Isabel Gracia

Departamento de Lenguajes y Sistemas Inform´aticos

Universitat Jaume I

c(cid:13) 2003 de Andr´es Marzal Var´o e Isabel Gracia Luengo. Reservados todos los derechos.
Esta ((Edici´on Internet)) se puede reproducir con fines autodidactas o para su uso en
centros p´ublicos de ense˜nanza, exclusivamente. En el segundo caso, ´unicamente se car-
gar´an al estudiante los costes de reproducci´on. La reproducci´on total o parcial con ´animo
de lucro o con cualquier finalidad comercial est´a estrictamente prohibida sin el permiso
escrito de los autores.

´Indice general

1. Introducci´on

1.1. Computadores
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2. Codificaci´on de la informaci´on . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.3. Programas y lenguajes de programaci´on . . . . . . . . . . . . . . . . . . . . . . .

5
5
6
9
1.3.1. C´odigo de m´aquina . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.3.2. Lenguaje ensamblador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.3.3. ¿Un programa diferente para cada ordenador? . . . . . . . . . . . . . . . . 12
1.3.4. Lenguajes de programaci´on de alto nivel . . . . . . . . . . . . . . . . . . . 14
1.3.5. Compiladores e int´erpretes
. . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.3.6. Python . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.3.7. C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
. . . . . . . . . . . . . . . . . . . . . . . . 17

1.4. M´as all´a de los programas: algoritmos

2. Una calculadora avanzada

2.2. Tipos de datos

23
2.1. Sesiones interactivas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.1.1. Los operadores aritm´eticos
. . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.1.2. Errores de tecleo y excepciones . . . . . . . . . . . . . . . . . . . . . . . . 30
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.2.1. Enteros y flotantes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.2.2. Valores l´ogicos
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.3. Operadores l´ogicos y de comparaci´on . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.4. Variables y asignaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
2.4.1. Asignaciones con operador . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
2.4.2. Variables no inicializadas
. . . . . . . . . . . . . . . . . . . . . . . . . . . 42
2.5. El tipo de datos cadena . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
2.6. Funciones predefinidas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
2.7. Funciones definidas en m´odulos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
2.7.1. El m´odulo math . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
2.7.2. Otros m´odulos de inter´es
. . . . . . . . . . . . . . . . . . . . . . . . . . . 50
2.8. M´etodos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

3. Programas

53
3.1. El entorno PythonG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
3.2. Ejecuci´on de programas desde la l´ınea de ´ordenes Unix . . . . . . . . . . . . . . . 57
3.3. Entrada/salida . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
3.3.1. Lectura de datos de teclado . . . . . . . . . . . . . . . . . . . . . . . . . . 57
3.3.2. M´as sobre la sentencia print . . . . . . . . . . . . . . . . . . . . . . . . . 60
3.3.3. Salida con formato . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
3.4.1. Algunas claves para aumentar la legibilidad . . . . . . . . . . . . . . . . . 65
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
3.4.2. Comentarios
3.5. Gr´aficos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

3.4. Legibilidad de los programas

Introducci´on a la Programaci´on con Python

i

´INDICE GENERAL

2006/09/25-15:31

4. Estructuras de control

75
4.1. Sentencias condicionales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
4.1.1. Un programa de ejemplo: resoluci´on de ecuaciones de primer grado . . . . 75
4.1.2. La sentencia condicional if
. . . . . . . . . . . . . . . . . . . . . . . . . . 77
4.1.3. Trazas con PythonG: el depurador . . . . . . . . . . . . . . . . . . . . . . 79
4.1.4. Sentencias condicionales anidadas . . . . . . . . . . . . . . . . . . . . . . . 81
4.1.5. Otro ejemplo: resoluci´on de ecuaciones de segundo grado . . . . . . . . . . 83
4.1.6. En caso contrario (else) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
4.1.7. Una estrategia de dise˜no: refinamientos sucesivos . . . . . . . . . . . . . . 87
4.1.8. Un nuevo refinamiento del programa de ejemplo . . . . . . . . . . . . . . 88
4.1.9. Otro ejemplo: m´aximo de una serie de n´umeros . . . . . . . . . . . . . . . 90
4.1.10. Evaluaci´on con cortocircuitos . . . . . . . . . . . . . . . . . . . . . . . . . 94
4.1.11. Un ´ultimo problema: men´us de usuario . . . . . . . . . . . . . . . . . . . . 96
4.1.12. Una forma compacta para estructuras condicionales m´ultiples (elif)
. . . 98
4.2. Sentencias iterativas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
4.2.1. La sentencia while . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
4.2.2. Un problema de ejemplo: c´alculo de sumatorios . . . . . . . . . . . . . . . 103
4.2.3. Otro programa de ejemplo: requisitos en la entrada . . . . . . . . . . . . . 104
4.2.4. Mejorando el programa de los men´us . . . . . . . . . . . . . . . . . . . . . 106
4.2.5. El bucle for-in . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
for-in como forma compacta de ciertos while . . . . . . . . . . . . . . . 112
4.2.6.
4.2.7. N´umeros primos
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
4.2.8. Rotura de bucles: break . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
4.2.9. Anidamiento de estructuras . . . . . . . . . . . . . . . . . . . . . . . . . . 120
4.3. Captura y tratamiento de excepciones . . . . . . . . . . . . . . . . . . . . . . . . 121
4.4. Algunos ejemplos gr´aficos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
4.4.1. Un graficador de funciones
. . . . . . . . . . . . . . . . . . . . . . . . . . 124
4.4.2. Una animaci´on: simulaci´on gravitacional . . . . . . . . . . . . . . . . . . . 128
4.4.3. Un programa interactivo: un videojuego . . . . . . . . . . . . . . . . . . . 134
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143

4.5. Una reflexi´on final

5. Tipos estructurados: secuencias

5.2. Listas

145
5.1. Cadenas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
5.1.1. Lo que ya sabemos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
5.1.2. Escapes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
5.1.3. Longitud de una cadena . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
5.1.4.
Indexaci´on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
5.1.5. Recorrido de cadenas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
5.1.6. Un ejemplo: un contador de palabras . . . . . . . . . . . . . . . . . . . . . 152
5.1.7. Otro ejemplo: un programa de conversi´on de binario a decimal
. . . . . . 157
5.1.8. A vueltas con las cadenas: inversi´on de una cadena . . . . . . . . . . . . . 158
5.1.9. Subcadenas: el operador de corte . . . . . . . . . . . . . . . . . . . . . . . 160
5.1.10. Una aplicaci´on: correo electr´onico personalizado
. . . . . . . . . . . . . . 162
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
5.1.11. Referencias a cadenas
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
5.2.1. Cosas que, sin darnos cuenta, ya sabemos sobre las listas
. . . . . . . . . 170
5.2.2. Comparaci´on de listas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
5.2.3. El operador is
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
5.2.4. Modificaci´on de elementos de listas . . . . . . . . . . . . . . . . . . . . . . 175
5.2.5. Mutabilidad, inmutabilidad y representaci´on de la informaci´on en memoria176
5.2.6. Adici´on de elementos a una lista . . . . . . . . . . . . . . . . . . . . . . . 178
5.2.7. Lectura de listas por teclado . . . . . . . . . . . . . . . . . . . . . . . . . 180
5.2.8. Borrado de elementos de una lista . . . . . . . . . . . . . . . . . . . . . . 182
5.2.9. Pertenencia de un elemento a una lista . . . . . . . . . . . . . . . . . . . . 185
5.2.10. Ordenaci´on de una lista . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
5.3. De cadenas a listas y viceversa . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
5.4. Matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
5.4.1. Sobre la creaci´on de matrices . . . . . . . . . . . . . . . . . . . . . . . . . 194
5.4.2. Lectura de matrices
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196

ii

Introducci´on a la Programaci´on con Python

c(cid:13) 2003 Andr´es Marzal e Isabel Gracia

0 ´INDICE GENERAL

5.4.3. ¿Qu´e dimensi´on tiene una matriz? . . . . . . . . . . . . . . . . . . . . . . 197
5.4.4. Operaciones con matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
5.4.5. El juego de la vida . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209

5.5. Una reflexi´on final

6. Funciones

211
6.1. Uso de funciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
  • Links de descarga
http://lwp-l.com/pdf9147

Comentarios de: Introducción a la programación con Python (1)

1 de Junio del 2020
estrellaestrellaestrellaestrellaestrella
soy incapaz de cambiar de formato entre str y float. En teorai es super simple pero me resulta imposible no se que hago mal
Responder

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad