Vous êtes sur la page 1sur 189

Tema 0 - Programaci on b asica con Python

Curso de F sica Computacional M. en C. Gustavo Contreras May en

Tema 0 - Programaci on b asica con Python

Contenido

Qu e necesitamos para trabajar el curso?

Tema 0 - Programaci on b asica con Python

Qu e necesitamos para trabajar el curso?

El curso requiere como herramienta un equipo de c omputo y software, con la ventaja de que el software est a disponible bajo la licencia GNU y podemos descargarlo en versiones tanto para Linux como para Windows. Es conveniente que congures tu equipo de casa o personal antes de iniciar el trabajo, ya que cuando tenemos todo disponible, no tendremos inconvenientes posteriores de funcionamiento.

Tema 0 - Programaci on b asica con Python

Software necesario para el trabajo del curso

Python Spyder2 matplotlib gnuplot Visual Python

Tema 0 - Programaci on b asica con Python

Python como lenguaje de programaci on


La versi on que usaremos es la 2.7.x, aunque ya existe la versi on 3, tenemos mucho m as documentaci on de la 2.7, si instalan de manera completa una distribuci on de linux, lo m as seguro es que les instale por defecto, la 3, pero podemos tener instaladas las dos versiones, sin problemas de compatibilidad. La liga para descargar es: http://www.python.org/

Tema 0 - Programaci on b asica con Python

Versi on integrada de Python

Existe una versi on de pago por un paquete integrado con Python que re une la mayor a de librer as que vamos a utilizar, la ventaja es que no tendremos que instalar posteriormente m as all a de Visual Python. El sitio es https://www.enthought.com/products/epd/

Tema 0 - Programaci on b asica con Python

Entorno de desarrollo integrado


La ventaja de usar un IDLE (Interface Development Environment) es que en un s olo espacio de trabajo, contamos con un editor de texto, documentaci on de ayuda, consola de ejecuci on y un soporte bastante util en donde se resaltan las instrucciones propias del lenguaje, as como valores num ericos y de texto; en ese mismo espacio podemos ejecutar el c odigo sin necesidad de abrir una terminal adicional. Spyder2 es el IDLE enfocado al manejo de Python, podemos descargarlo de su sitio: http://code.google.com/p/spyderlib/

Tema 0 - Programaci on b asica con Python

Componer Python con librer as

Si no descargamos la distribuci on de Enthought, nos veremos en la necesidad de descargar librer as adicionales para nuestro curso. Una de ellas es el gracador matplotlib, que est a disponible en el sitio: http://matplotlib.org/ Una ventaja es que en cada sitio, la documentaci on y foros de apoyo se actualizan constantemente y por tanto, tener una ayuda con el software de manera directa.

Tema 0 - Programaci on b asica con Python

Gracador externo

Cuando tenemos el conjunto soluci on mediante un algoritmo, nuestro trabajo no termina ah , como hemos aprendido en la carrera, debemos de visualizar ese conjunto de datos y dar una interpretaci on de los mismos. Existen bastantes programas tanto de licencia como GNU que permiten hacer esta tarea, el m as c omodo es gnuplot, podemos conseguirlo desde: http://www.gnuplot.info/

Tema 0 - Programaci on b asica con Python

Extendiendo la visualizaci on con Python

En algunos temas del curso, habr a la necesidad de generar no s olo gr acas m as complejas, sino que es posible tambi en crear animaciones con Python, aunque este punto merece de por si un tiempo para aprenderlo, veremos algunas cosas b asicas, ya quedar an con el gusto para continuar el trabajo y practicar de manera externa. La liga para descargar la librer a es: http://www.vpython.org/

Tema 0 - Programaci on b asica con Python

Contenido

Introducci on Tipado din amico Fuertemente tipado Programaci on orientada a objetos Complementos para Python

Tema 0 - Programaci on b asica con Python

Para el curso de F sica Computacional ser a necesario que usemos un lenguaje de programaci on para apoyarnos en la soluci on de los problemas y algoritmos. El lenguaje de nuestra elecci on es un medio para alcanzar nuestro objetivo del curso, m as no el n, por lo que revisaremos lo m as b asico de Python, dando la oportunidad de que por tu cuenta, logres un mayor conocimiento y pr actica con Python.

Tema 0 - Programaci on b asica con Python

Lenguaje de programaci on de alto nivel, interpretado.

Tema 0 - Programaci on b asica con Python

Lenguaje de programaci on de alto nivel, interpretado. Desarrollado por Guido van Rossum a principios de los a nos 90.

Tema 0 - Programaci on b asica con Python

Lenguaje de programaci on de alto nivel, interpretado. Desarrollado por Guido van Rossum a principios de los a nos 90. Es multiplataforma (UNIX, Solaris, Linux, DOS, Windows, OS/2, Mac OS, etc.)

Tema 0 - Programaci on b asica con Python

Lenguaje de programaci on de alto nivel, interpretado. Desarrollado por Guido van Rossum a principios de los a nos 90. Es multiplataforma (UNIX, Solaris, Linux, DOS, Windows, OS/2, Mac OS, etc.) Software libre: Python Software Foundation License (PSFL)

Tema 0 - Programaci on b asica con Python

Lenguaje de programaci on de alto nivel, interpretado. Desarrollado por Guido van Rossum a principios de los a nos 90. Es multiplataforma (UNIX, Solaris, Linux, DOS, Windows, OS/2, Mac OS, etc.) Software libre: Python Software Foundation License (PSFL) Tipado din amico.

Tema 0 - Programaci on b asica con Python

Lenguaje de programaci on de alto nivel, interpretado. Desarrollado por Guido van Rossum a principios de los a nos 90. Es multiplataforma (UNIX, Solaris, Linux, DOS, Windows, OS/2, Mac OS, etc.) Software libre: Python Software Foundation License (PSFL) Tipado din amico. Fuertemente tipado.
Tema 0 - Programaci on b asica con Python

Lenguaje de programaci on de alto nivel, interpretado. Desarrollado por Guido van Rossum a principios de los a nos 90. Es multiplataforma (UNIX, Solaris, Linux, DOS, Windows, OS/2, Mac OS, etc.) Software libre: Python Software Foundation License (PSFL) Tipado din amico. Fuertemente tipado. Orientado a objetos.
Tema 0 - Programaci on b asica con Python

Tipado din amico

Cada dato es de un tipo determinado y s olo se puede operar con el de formas bien denidas. La ventaja es que NO hay que declarar variables antes de su uso.

Tema 0 - Programaci on b asica con Python

Fuertemente tipado

Se dice que es un lenguaje cuyos tipos son estrictos. Java y Python son fuertemente tipados. Si tiene un tipo de dato entero, no puede tratarlo como una cadena de texto sin convertirlo expl citamente.

Tema 0 - Programaci on b asica con Python

Programaci on orientada a objetos

La programaci on orientada a objetos es un paradigma de programaci on que busca representar entidades u objetos agrupando datos y m etodos que puedan describir sus caracter sticas y comportamientos.

Tema 0 - Programaci on b asica con Python

Complementos para Python

Tema 0 - Programaci on b asica con Python

Complementos para Python

NumPy: paquete fundamental para computaci on cient ca.

Tema 0 - Programaci on b asica con Python

Complementos para Python

NumPy: paquete fundamental para computaci on cient ca. SciPy: librer a para computaci on cient ca (extiende a NumPy)

Tema 0 - Programaci on b asica con Python

Complementos para Python

NumPy: paquete fundamental para computaci on cient ca. SciPy: librer a para computaci on cient ca (extiende a NumPy) matplotlib: librer a para gr acos 2D (soporta gr acos 3D tambi en)

Tema 0 - Programaci on b asica con Python

Complementos para Python

NumPy: paquete fundamental para computaci on cient ca. SciPy: librer a para computaci on cient ca (extiende a NumPy) matplotlib: librer a para gr acos 2D (soporta gr acos 3D tambi en) Mayavi: librer a para gr acos y visualizaci on de datos 3D.

Tema 0 - Programaci on b asica con Python

Complementos para Python

NumPy: paquete fundamental para computaci on cient ca. SciPy: librer a para computaci on cient ca (extiende a NumPy) matplotlib: librer a para gr acos 2D (soporta gr acos 3D tambi en) Mayavi: librer a para gr acos y visualizaci on de datos 3D. iPython: consola interactiva para Python.

Tema 0 - Programaci on b asica con Python

Ejemplos de gr acas

Tema 0 - Programaci on b asica con Python

Ejemplos de gr acas

Tema 0 - Programaci on b asica con Python

Ejemplos de gr acas

Tema 0 - Programaci on b asica con Python

Contenido

Iniciando con Python

Tema 0 - Programaci on b asica con Python

Consola de trabajo en Python

Hay dos modos de trabajo en Python, cada uno de ellos depende de nuestra habilidad: Modo rudo: trabajo directo en la consola.

Tema 0 - Programaci on b asica con Python

Consola de trabajo en Python

Hay dos modos de trabajo en Python, cada uno de ellos depende de nuestra habilidad: Modo rudo: trabajo directo en la consola. Modo amigable: a trav es de una interface IDLE (Entorno de Desarrollo Integrado)

Tema 0 - Programaci on b asica con Python

Modo Rudo
Para los usuarios en Windows, hay que localizar la carpeta de Enthougth y de ah seleccionamos IDLE.

Tema 0 - Programaci on b asica con Python

Lo que nos abrir a una terminal en donde podemos iniciar el trabajo con Python.

Tema 0 - Programaci on b asica con Python

Para los usuarios con linux


Abrimos una terminal y tecleamos python, presionamos Enter y el prompt de la terminal cambia dej andonos la apariencia de >>>, adicionalmente vemos la versi on de trabajo.

Tema 0 - Programaci on b asica con Python

Python como calculadora

Una vez abierta la sesi on en Python, podemos aprovechar al m aximo Python, una de las primeras facilidades que tenemos, es que contamos con una calculadora a la mano, s olo hay que ir escribiendo las operaciones.

Tema 0 - Programaci on b asica con Python

Operadores artim eticos


>>> 3+4

Tema 0 - Programaci on b asica con Python

Operadores artim eticos


>>> 3+4 7

Tema 0 - Programaci on b asica con Python

Operadores artim eticos


>>> 3+4 7 >>> 3/4

Tema 0 - Programaci on b asica con Python

Operadores artim eticos


>>> 3+4 7 >>> 3/4 0

Tema 0 - Programaci on b asica con Python

Operadores artim eticos


>>> 3+4 7 >>> 3/4 0 >>> 3.0/4.0

Tema 0 - Programaci on b asica con Python

Operadores artim eticos


>>> 3+4 7 >>> 3/4 0 >>> 3.0/4.0 0.75

Tema 0 - Programaci on b asica con Python

Operadores artim eticos


>>> 3+4 7 >>> 3/4 0 >>> 3.0/4.0 0.75 >>> 5.0 / 10 * 2 + 5

Tema 0 - Programaci on b asica con Python

Operadores artim eticos


>>> 3+4 7 >>> 3/4 0 >>> 3.0/4.0 0.75 >>> 5.0 / 10 * 2 + 5 6

Tema 0 - Programaci on b asica con Python

>>> 5.0 / (10 * 2 + 5)

Tema 0 - Programaci on b asica con Python

>>> 5.0 / (10 * 2 + 5) 0.2

Tema 0 - Programaci on b asica con Python

>>> 5.0 / (10 * 2 + 5) 0.2 >>> 2**3**2

Tema 0 - Programaci on b asica con Python

>>> 5.0 / (10 * 2 + 5) 0.2 >>> 2**3**2 512

Tema 0 - Programaci on b asica con Python

>>> 5.0 / (10 * 2 + 5) 0.2 >>> 2**3**2 512 >>> (2**3)**2

Tema 0 - Programaci on b asica con Python

>>> 5.0 / (10 * 2 + 5) 0.2 >>> 2**3**2 512 >>> (2**3)**2 64

Tema 0 - Programaci on b asica con Python

>>> 5.0 / (10 * 2 + 5) 0.2 >>> 2**3**2 512 >>> (2**3)**2 64 >>> 17%3%2

Tema 0 - Programaci on b asica con Python

>>> 5.0 / (10 * 2 + 5) 0.2 >>> 2**3**2 512 >>> (2**3)**2 64 >>> 17%3%2 0

Tema 0 - Programaci on b asica con Python

Tabla de operadores
Operador / // + % Operaci on Ejemplo Resultado 8 21 5.25 5.0 7 2 3

Potencia 2 3 Multiplicaci on 73 Divisi on 10.5/2 Divisi on entera 10.5//2 Suma 3+4 Resta 68 M odulo 15 %6

Tema 0 - Programaci on b asica con Python

Precedencia de operadores 1

Las expresiones contenidas dentro de pares de par entesis son evaluadas primero. En el caso de expresiones con par entesis anidados, los operadores en el par de par entesis m as interno son aplicados primero.

Tema 0 - Programaci on b asica con Python

Precedencia de operadores 1

Las expresiones contenidas dentro de pares de par entesis son evaluadas primero. En el caso de expresiones con par entesis anidados, los operadores en el par de par entesis m as interno son aplicados primero. Las operaciones de exponentes son aplicadas despu es. Si una expresi on contiene muchas operaciones de exponentes, los operadores son aplicados de derecha a izquierda.

Tema 0 - Programaci on b asica con Python

Precedencia de operadores 2

La multiplicaci on, divisi on y m odulo son las siguientes en ser aplicadas. Si una expresi on contiene muchas multiplicaciones, divisiones u operaciones de m odulo, los operadores se aplican de izquierda a derecha.

Tema 0 - Programaci on b asica con Python

Precedencia de operadores 2

La multiplicaci on, divisi on y m odulo son las siguientes en ser aplicadas. Si una expresi on contiene muchas multiplicaciones, divisiones u operaciones de m odulo, los operadores se aplican de izquierda a derecha. Suma y resta son las operaciones que se aplican por ultimo. Si una expresi on contiene muchas operaciones de suma y resta, los operadores son aplicados de izquierda a derecha. La suma y resta tienen el mismo nivel de precedencia.

Tema 0 - Programaci on b asica con Python

Contenido

Operadores relacionales

Tema 0 - Programaci on b asica con Python

Operadores relacionales (de comparaci on)


Tipos de datos l ogicos: False (0) y True (1) 1+2>7-3

Tema 0 - Programaci on b asica con Python

Operadores relacionales (de comparaci on)


Tipos de datos l ogicos: False (0) y True (1) 1+2>7-3 False

Tema 0 - Programaci on b asica con Python

Operadores relacionales (de comparaci on)


Tipos de datos l ogicos: False (0) y True (1) 1+2>7-3 False 1<2<3

Tema 0 - Programaci on b asica con Python

Operadores relacionales (de comparaci on)


Tipos de datos l ogicos: False (0) y True (1) 1+2>7-3 False 1<2<3 True

Tema 0 - Programaci on b asica con Python

Operadores relacionales (de comparaci on)


Tipos de datos l ogicos: False (0) y True (1) 1+2>7-3 False 1<2<3 True 1>2==2<3

Tema 0 - Programaci on b asica con Python

Operadores relacionales (de comparaci on)


Tipos de datos l ogicos: False (0) y True (1) 1+2>7-3 False 1<2<3 True 1>2==2<3 False

Tema 0 - Programaci on b asica con Python

Operadores relacionales (de comparaci on)


Tipos de datos l ogicos: False (0) y True (1) 1+2>7-3 False 1<2<3 True 1>2==2<3 False 1>(2==2)<3

Tema 0 - Programaci on b asica con Python

Operadores relacionales (de comparaci on)


Tipos de datos l ogicos: False (0) y True (1) 1+2>7-3 False 1<2<3 True 1>2==2<3 False 1>(2==2)<3 False
Tema 0 - Programaci on b asica con Python

3>4<5

Tema 0 - Programaci on b asica con Python

3>4<5 False

Tema 0 - Programaci on b asica con Python

3>4<5 False 1.0/3<0.33333

Tema 0 - Programaci on b asica con Python

3>4<5 False 1.0/3<0.33333 False

Tema 0 - Programaci on b asica con Python

3>4<5 False 1.0/3<0.33333 False 5.0/3>=11/7.0

Tema 0 - Programaci on b asica con Python

3>4<5 False 1.0/3<0.33333 False 5.0/3>=11/7.0

Tema 0 - Programaci on b asica con Python

3>4<5 False 1.0/3<0.33333 False 5.0/3>=11/7.0

Tema 0 - Programaci on b asica con Python

3>4<5 False 1.0/3<0.33333 False 5.0/3>=11/7.0 True

Tema 0 - Programaci on b asica con Python

3>4<5 False 1.0/3<0.33333 False 5.0/3>=11/7.0 True 2**(2./3)<3**(3./4)

Tema 0 - Programaci on b asica con Python

3>4<5 False 1.0/3<0.33333 False 5.0/3>=11/7.0 True 2**(2./3)<3**(3./4) True

Tema 0 - Programaci on b asica con Python

Tabla de operadores relacionales

Operador == != < > >= >=

Operaci on

Ejemplo

Resultado False True False True True False

Igual a 4 == 5 Diferente de 2! = 3 Menor que 10 < 4 Mayor que 5 > 4 Menor o igual que 7 <= 7 Mayor o igual que 3.5 >= 10

Tema 0 - Programaci on b asica con Python

Operadores l ogicos (booleanos)

Operador Operaci on and or not

Ejemplo

Resultado False True False

conjunci on False and True disyunci on False or True negaci on not True

Tema 0 - Programaci on b asica con Python

Tabla de verdad

A and B A or B not A True False False False True True True False True False True True

True True True False False True False False

Tema 0 - Programaci on b asica con Python

Tipos de datos

Cada lenguaje de programaci on requiere de un conjunto de tipos de datos para operar, cada uno est a caracterizado por un nombre, un tama no de espacio en memoria y un intervalo. Realizar operaciones entre diferentes tipos de datos nos va a generar un error, ya que como hemos mencionado, Python es un lenguaje fuertemente tipado, moraleja: sumar peras con peras y manzanas con manzanas.

Tema 0 - Programaci on b asica con Python

Tabla de tipos de datos

Tipo bol int long int float string tuple list dict

Descripci on booleano entero entero largo real (punto otante) string (cadena) tupla lista diccionario

bits 8 16 32 32 32 32 64 80

Rango sin rango [215 , 215 1] [0, 232 1] [231 , 231 1] [231 , 231 1] [3.4 1038 , 3.4 1038 ] [1.7 10308 , 1.7 10308 ] [3.4 104932 , 3.4 104932 ]

Ejemplo True o False 327 24334253234L 3.1416

hola 1, aja,2.0)

[1, aja, 2.0 a:7.0, 23: Tr

Tema 0 - Programaci on b asica con Python

Palabras reservadas

No se pueden utilizar dentro del c odigo


and del for is raise assert elif from lambda return break else global not try class except if or while continue exec import pass yield def finally in print del

Tema 0 - Programaci on b asica con Python

Identicadores
Son nombres que hacen referencia a los objetos que componen un programa: constantes, variables, funciones, etc. Reglas para construir identicadores: 1 El primer car acter debe ser una letra o el car acter de subrayado (gui on bajo)

Tema 0 - Programaci on b asica con Python

Identicadores
Son nombres que hacen referencia a los objetos que componen un programa: constantes, variables, funciones, etc. Reglas para construir identicadores: 1 El primer car acter debe ser una letra o el car acter de subrayado (gui on bajo) 2 El primer car acter puede ir seguido de un n umero variable de d gitos num ericos, letras o car acteres de subrayado.

Tema 0 - Programaci on b asica con Python

Identicadores
Son nombres que hacen referencia a los objetos que componen un programa: constantes, variables, funciones, etc. Reglas para construir identicadores: 1 El primer car acter debe ser una letra o el car acter de subrayado (gui on bajo) 2 El primer car acter puede ir seguido de un n umero variable de d gitos num ericos, letras o car acteres de subrayado. 3 No pueden utilizarse espacios en blanco, ni s mbolos de puntuaci on.

Tema 0 - Programaci on b asica con Python

Identicadores
Son nombres que hacen referencia a los objetos que componen un programa: constantes, variables, funciones, etc. Reglas para construir identicadores: 1 El primer car acter debe ser una letra o el car acter de subrayado (gui on bajo) 2 El primer car acter puede ir seguido de un n umero variable de d gitos num ericos, letras o car acteres de subrayado. 3 No pueden utilizarse espacios en blanco, ni s mbolos de puntuaci on. 4 Python distingue may usculas y min usculas.

Tema 0 - Programaci on b asica con Python

Identicadores
Son nombres que hacen referencia a los objetos que componen un programa: constantes, variables, funciones, etc. Reglas para construir identicadores: 1 El primer car acter debe ser una letra o el car acter de subrayado (gui on bajo) 2 El primer car acter puede ir seguido de un n umero variable de d gitos num ericos, letras o car acteres de subrayado. 3 No pueden utilizarse espacios en blanco, ni s mbolos de puntuaci on. 4 Python distingue may usculas y min usculas. 5 No pueden utilizarse palabras reservadas del lenguaje.
Tema 0 - Programaci on b asica con Python

Contenido

Variables

Tema 0 - Programaci on b asica con Python

Variables

>>> base = 2

Tema 0 - Programaci on b asica con Python

Variables

>>> base = 2 >>> print base

Tema 0 - Programaci on b asica con Python

Variables

>>> base = 2 >>> print base 2 >>> print "base" base

Tema 0 - Programaci on b asica con Python

Variables

>>> base = 2 >>> print base 2 >>> print "base" base >>> base = base + 1

Tema 0 - Programaci on b asica con Python

>>> base

Tema 0 - Programaci on b asica con Python

>>> base 3

Tema 0 - Programaci on b asica con Python

>>> base 3 >>> alt = 4

Tema 0 - Programaci on b asica con Python

>>> base 3 >>> alt = 4 >>> area = base*alt; a= 3

Tema 0 - Programaci on b asica con Python

>>> base 3 >>> alt = 4 >>> area = base*alt; a= 3 >>> a= 2*a

Tema 0 - Programaci on b asica con Python

>>> area== 2*a

Tema 0 - Programaci on b asica con Python

>>> area== 2*a True

Tema 0 - Programaci on b asica con Python

>>> area== 2*a True >>> x= "uno"; y= "dos"

Tema 0 - Programaci on b asica con Python

>>> area== 2*a True >>> x= "uno"; y= "dos" >>> x

Tema 0 - Programaci on b asica con Python

>>> area== 2*a True >>> x= "uno"; y= "dos" >>> x uno

Tema 0 - Programaci on b asica con Python

>>> area== 2*a True >>> x= "uno"; y= "dos" >>> x uno >>> print x

Tema 0 - Programaci on b asica con Python

>>> area== 2*a True >>> x= "uno"; y= "dos" >>> x uno >>> print x uno

Tema 0 - Programaci on b asica con Python

>>> x+y

Tema 0 - Programaci on b asica con Python

>>> x+y unodos

Tema 0 - Programaci on b asica con Python

>>> x+y unodos >>> print x+y

Tema 0 - Programaci on b asica con Python

>>> x+y unodos >>> print x+y unodos

Tema 0 - Programaci on b asica con Python

Contenido

Listas, Tuplas y Diccionarios Listas Tuplas Diccionarios

Tema 0 - Programaci on b asica con Python

Listas
Una lista en Python es un contenedor din amico que puede contener un n umero ilimitado de elementos. Los elementos se pueden agregar y quitar de la lista, y los elementos no tienen por que ser del mismo tipo. En otras palabras, una lista puede contener elementos de diferentes tipos. Para declarar una lista en Python, usamos los corchetes [] en torno a una lista de los objetos, o vac o entre corchetes para declarar una lista vac a: mi_lista = []

Tema 0 - Programaci on b asica con Python

Ejercicios con listas


milista=[a,"hola",3.0,True]

Tema 0 - Programaci on b asica con Python

Ejercicios con listas


milista=[a,"hola",3.0,True] milista

Tema 0 - Programaci on b asica con Python

Ejercicios con listas


milista=[a,"hola",3.0,True] milista [8,"hola",3.0,True]

Tema 0 - Programaci on b asica con Python

Ejercicios con listas


milista=[a,"hola",3.0,True] milista [8,"hola",3.0,True] milista[0]

Tema 0 - Programaci on b asica con Python

Ejercicios con listas


milista=[a,"hola",3.0,True] milista [8,"hola",3.0,True] milista[0] 8

Tema 0 - Programaci on b asica con Python

Ejercicios con listas


milista=[a,"hola",3.0,True] milista [8,"hola",3.0,True] milista[0] 8 milista[1]

Tema 0 - Programaci on b asica con Python

Ejercicios con listas


milista=[a,"hola",3.0,True] milista [8,"hola",3.0,True] milista[0] 8 milista[1] hola

Tema 0 - Programaci on b asica con Python

Ejercicios con listas


milista=[a,"hola",3.0,True] milista [8,"hola",3.0,True] milista[0] 8 milista[1] hola milista[2]

Tema 0 - Programaci on b asica con Python

Ejercicios con listas


milista=[a,"hola",3.0,True] milista [8,"hola",3.0,True] milista[0] 8 milista[1] hola milista[2] 3.0

Tema 0 - Programaci on b asica con Python

milista[1:3]

Tema 0 - Programaci on b asica con Python

milista[1:3] hola,3.0

Tema 0 - Programaci on b asica con Python

milista[1:3] hola,3.0 milista[0] = 2.0

Tema 0 - Programaci on b asica con Python

milista[1:3] hola,3.0 milista[0] = 2.0 milista

Tema 0 - Programaci on b asica con Python

milista[1:3] hola,3.0 milista[0] = 2.0 milista [2.0,"hola",3.0,True]

Tema 0 - Programaci on b asica con Python

milista[1:3] hola,3.0 milista[0] = 2.0 milista [2.0,"hola",3.0,True] milista[-1]

Tema 0 - Programaci on b asica con Python

milista[1:3] hola,3.0 milista[0] = 2.0 milista [2.0,"hola",3.0,True] milista[-1] True

Tema 0 - Programaci on b asica con Python

milista.append("otro")

Tema 0 - Programaci on b asica con Python

milista.append("otro") milista

Tema 0 - Programaci on b asica con Python

milista.append("otro") milista [2.0,"hola",3.0,True,otro]

Tema 0 - Programaci on b asica con Python

milista.append("otro") milista [2.0,"hola",3.0,True,otro] milista[:2]

Tema 0 - Programaci on b asica con Python

milista.append("otro") milista [2.0,"hola",3.0,True,otro] milista[:2] [2.0,"hola"]

Tema 0 - Programaci on b asica con Python

milista.append("otro") milista [2.0,"hola",3.0,True,otro] milista[:2] [2.0,"hola"] milista[1:]

Tema 0 - Programaci on b asica con Python

milista.append("otro") milista [2.0,"hola",3.0,True,otro] milista[:2] [2.0,"hola"] milista[1:] [2.0,"hola",3.0,True]

Tema 0 - Programaci on b asica con Python

milista.append("otro") milista [2.0,"hola",3.0,True,otro] milista[:2] [2.0,"hola"] milista[1:] [2.0,"hola",3.0,True] lista2=[]

Tema 0 - Programaci on b asica con Python

lista2 []

Tema 0 - Programaci on b asica con Python

lista2 []

Tema 0 - Programaci on b asica con Python

lista2 [] lista2.insert(1,"a")

Tema 0 - Programaci on b asica con Python

lista2 [] lista2.insert(1,"a") lista2

Tema 0 - Programaci on b asica con Python

lista2 [] lista2.insert(1,"a") lista2 [a]

Tema 0 - Programaci on b asica con Python

lista2 [] lista2.insert(1,"a") lista2 [a] lista2.insert(2,"b")

Tema 0 - Programaci on b asica con Python

lista2 [] lista2.insert(1,"a") lista2 [a] lista2.insert(2,"b") lista2

Tema 0 - Programaci on b asica con Python

lista2 [] lista2.insert(1,"a") lista2 [a] lista2.insert(2,"b") lista2 [a,b]

Tema 0 - Programaci on b asica con Python

Tuplas
Una tupla, es como una lista: un contenedor que puede contener un n umero arbitrario de objetos heterog eneos. Sin embargo, las tuplas son inmutables, es decir, sus elementos no pueden ser modicados, por lo que no se pueden agregar y/o eliminar elementos de la tupla. Las tuplas se pueden crear mediante la especicaci on de un conjunto de objetos separados por comas: mi_tupla = hola, 4, 27.89 Los parent esis son opcionales cuando se crea una tupla, pero son necesarios cuando se declara una tupla vac a o la creaci on de tuplas anidadas: mi_tupla = ()
Tema 0 - Programaci on b asica con Python

Ejercicios con tuplas

lt = ( 1,2,True, "python" )

Tema 0 - Programaci on b asica con Python

Ejercicios con tuplas

lt = ( 1,2,True, "python" ) lt

Tema 0 - Programaci on b asica con Python

Ejercicios con tuplas

lt = ( 1,2,True, "python" ) lt (1,2, True, python )

Tema 0 - Programaci on b asica con Python

Ejercicios con tuplas

lt = ( 1,2,True, "python" ) lt (1,2, True, python ) lt[0]=3

Tema 0 - Programaci on b asica con Python

Ejercicios con tuplas

lt = ( 1,2,True, "python" ) lt (1,2, True, python ) lt[0]=3 Ups, hay un error!

Tema 0 - Programaci on b asica con Python

Ejercicios con tuplas

lt = ( 1,2,True, "python" ) lt (1,2, True, python ) lt[0]=3 Ups, hay un error! 3 in lt

Tema 0 - Programaci on b asica con Python

Ejercicios con tuplas

lt = ( 1,2,True, "python" ) lt (1,2, True, python ) lt[0]=3 Ups, hay un error! 3 in lt False

Tema 0 - Programaci on b asica con Python

Diccionarios

Los Diccionarios en Python son como los arrays asociativos de cualquier otro lenguaje (Hashmaps en Java). Se diferencian de las listas ya que los diccionarios son indizados por claves. Las claves solo podr an ser de alg un tipo de dato inmutable como los enteros, los strings, las tuplas, etc. En otras palabras un diccionario es un conjunto de pares clave-valor donde la clave es inmutable y el valor es cualquier cosa.

Tema 0 - Programaci on b asica con Python

Uso de diccionarios
>>> d={} >>> type (d)

Tema 0 - Programaci on b asica con Python

Uso de diccionarios
>>> d={} >>> type (d) type dict>

Tema 0 - Programaci on b asica con Python

Uso de diccionarios
>>> d={} >>> type (d) type dict>

>>>d={"Nombre":"Arturo Elias","Apellido":"Anto >>> type(d) type dict>

Tema 0 - Programaci on b asica con Python

Uso de diccionarios
>>> d={} >>> type (d) type dict>

>>>d={"Nombre":"Arturo Elias","Apellido":"Anto >>> type(d) type dict> >>>d["Nombre"] Arturo Elias>

Tema 0 - Programaci on b asica con Python

Uso de diccionarios
>>> d={} >>> type (d) type dict>

>>>d={"Nombre":"Arturo Elias","Apellido":"Anto >>> type(d) type dict> >>>d["Nombre"] Arturo Elias> >>>d.values() [Arturo Elias, Anton]>
Tema 0 - Programaci on b asica con Python

Contenido

Funci on Range()

Tema 0 - Programaci on b asica con Python

Funci on range
La funci on range() crea una lista de n umeros enteros en sucesi on aritm etica. La funci on range() puede tener uno, dos o tres argumentos num ericos. La funci on con un unico argumento se escribe range(n) y crea una lista creciente de n t erminos enteros que empieza en 0 y acaba en n 1 (el incremento es unitario)
range(8)

Tema 0 - Programaci on b asica con Python

Funci on range
La funci on range() crea una lista de n umeros enteros en sucesi on aritm etica. La funci on range() puede tener uno, dos o tres argumentos num ericos. La funci on con un unico argumento se escribe range(n) y crea una lista creciente de n t erminos enteros que empieza en 0 y acaba en n 1 (el incremento es unitario)
range(8) [0,1,2,3,4,5,6,7]

Tema 0 - Programaci on b asica con Python

Funci on range
La funci on range() crea una lista de n umeros enteros en sucesi on aritm etica. La funci on range() puede tener uno, dos o tres argumentos num ericos. La funci on con un unico argumento se escribe range(n) y crea una lista creciente de n t erminos enteros que empieza en 0 y acaba en n 1 (el incremento es unitario)
range(8) [0,1,2,3,4,5,6,7] range(3,7)

Tema 0 - Programaci on b asica con Python

Funci on range
La funci on range() crea una lista de n umeros enteros en sucesi on aritm etica. La funci on range() puede tener uno, dos o tres argumentos num ericos. La funci on con un unico argumento se escribe range(n) y crea una lista creciente de n t erminos enteros que empieza en 0 y acaba en n 1 (el incremento es unitario)
range(8) [0,1,2,3,4,5,6,7] range(3,7) [3,4,5,6]

Tema 0 - Programaci on b asica con Python

Funci on range
La funci on range() crea una lista de n umeros enteros en sucesi on aritm etica. La funci on range() puede tener uno, dos o tres argumentos num ericos. La funci on con un unico argumento se escribe range(n) y crea una lista creciente de n t erminos enteros que empieza en 0 y acaba en n 1 (el incremento es unitario)
range(8) [0,1,2,3,4,5,6,7] range(3,7) [3,4,5,6] range(4,10,2)
Tema 0 - Programaci on b asica con Python

Funci on range
La funci on range() crea una lista de n umeros enteros en sucesi on aritm etica. La funci on range() puede tener uno, dos o tres argumentos num ericos. La funci on con un unico argumento se escribe range(n) y crea una lista creciente de n t erminos enteros que empieza en 0 y acaba en n 1 (el incremento es unitario)
range(8) [0,1,2,3,4,5,6,7] range(3,7) [3,4,5,6] range(4,10,2) [4,6,8]
Tema 0 - Programaci on b asica con Python

Contenido

Funciones intr nsecas

Tema 0 - Programaci on b asica con Python

Cada lenguaje de programaci on cuenta con un conjunto de funciones denidas que nos da soporte para ampliar los c alculos, a estas funciones, se les llama funciones intr nsecas, de tal manera que el n umero de ellas, es reducido, veremos que en Python, se pueden agregar m as librer as especializadas que nos van a ahorrar el trabajo.

Tema 0 - Programaci on b asica con Python

Funciones intr nsecas


x = -5

Tema 0 - Programaci on b asica con Python

Funciones intr nsecas


x = y = -5 4

Tema 0 - Programaci on b asica con Python

Funciones intr nsecas


x = y = p = -5 4 3.1416

Tema 0 - Programaci on b asica con Python

Funciones intr nsecas


x = y = p = z = -5 4 3.1416 6.3

Tema 0 - Programaci on b asica con Python

Funciones intr nsecas


x = y = p = z = -5 4 3.1416 6.3

print int(p)

Tema 0 - Programaci on b asica con Python

Funciones intr nsecas


x = y = p = z = -5 4 3.1416 6.3

print int(p)

Tema 0 - Programaci on b asica con Python

Funciones intr nsecas


x = y = p = z = -5 4 3.1416 6.3

print int(p) 3

Tema 0 - Programaci on b asica con Python

Funciones intr nsecas


x = y = p = z = -5 4 3.1416 6.3

print int(p) 3 abs(x)


Tema 0 - Programaci on b asica con Python

Funciones intr nsecas


x = y = p = z = -5 4 3.1416 6.3

print int(p) 3 abs(x) 5


Tema 0 - Programaci on b asica con Python

print float(z)

Tema 0 - Programaci on b asica con Python

print float(z)

Tema 0 - Programaci on b asica con Python

print float(z) 6.0

Tema 0 - Programaci on b asica con Python

print float(z) 6.0 complex(x)

Tema 0 - Programaci on b asica con Python

print float(z) 6.0 complex(x) (-5+0j)

Tema 0 - Programaci on b asica con Python

print float(z) 6.0 complex(x) (-5+0j) complex(x,y)

Tema 0 - Programaci on b asica con Python

print float(z) 6.0 complex(x) (-5+0j) complex(x,y) (-5+4j)

Tema 0 - Programaci on b asica con Python

print float(z) 6.0 complex(x) (-5+0j) complex(x,y) (-5+4j) print round(p,2)

Tema 0 - Programaci on b asica con Python

print float(z) 6.0 complex(x) (-5+0j) complex(x,y) (-5+4j) print round(p,2) 3.14

Tema 0 - Programaci on b asica con Python

print float(z) 6.0 complex(x) (-5+0j) complex(x,y) (-5+4j) print round(p,2) 3.14 cmp(x,y)

Tema 0 - Programaci on b asica con Python

print float(z) 6.0 complex(x) (-5+0j) complex(x,y) (-5+4j) print round(p,2) 3.14 cmp(x,y) -1
Tema 0 - Programaci on b asica con Python

Operaci on Descripci on int(x) Convierte x a entero long(x) Convierte x a entero largo float(x) Convierte x a punto otante complex(x) Convierte x al complejo x+0j complex(x,y) Convierte al complejo x+yj

Tema 0 - Programaci on b asica con Python

Funci on abs(x) max(sucesion) min(sucesion) round(x,n) cmp(x,y)

Descripci on Valor absoluto de x Mayor elemento de la sucesi on Menor elemento de la sucesi on Redondea x al decimal n Devuelve 1, 0, 1 si x < y , x == y , x > y

Tema 0 - Programaci on b asica con Python