Taller de Python
Taller de Python
Taller de
Python
Valdivia, 05 de diciembre de 2014
Contenidos
Etapa 1
Introduccin
Lenguajes de Programacin
Introduccin a Python.
Estructuras de Control
Etapa 2.
Ejemplos de Aplicacin
Prctico
Scipy. Haciendo Python mejor que Matlab (opcional)
Etapa 1.
15:00 16:30
Introduccin.
Un algoritmo es una sucesin finita de
pasos no ambiguos que se pueden ejecutar
en un tiempo finito, cuya razn de ser es la
de resolver problema; por tanto
problema para nosotros, sern
aquellas cuestiones, conceptuales o
prcticas, cuya solucin es expresable
mediante un algoritmo.
Introduccin
Afortunadamente, son muchos los
problemas cuya solucin puede describirse
por medio de un algoritmo y sta es
una de las razones subyacentes a la
necesidad de que aprendamos a
programar y a manejar un computador
Introduccin
El matemtico G. Poyla propuso, a finales
de 1940, una metodologa general para la
resolucin de problemas matemticos, que
ha sido adaptada para el caso en que se
cuente con un computador como recurso.
Esta sistemtica, de forma muy
esquematizada, se muestra en la
siguiente figura >>
Introduccin
Algoritmos
Introduccin
1
Algoritmos.
Introduccin
Hace 100 aos un matemtico llamado
Henry Poincare, trato de explicar basado
en sus experiencias personales, de como
un problema al que haba dedicado mucho
tiempo sin xito, poda aparecer
repentinamente despus resuelto en su
cabeza.
Algoritmos.
Introduccin
El perodo que existe entre el anlisis de
un problema y el diseo de su solucin
recibe el nombre de perodo de
incubacin, y el proceso mental que se
da durante el mismo sigue siendo tema de
investigacin para los siclogos.
Algoritmos.
Introduccin
Estamos por lo tanto en el
terreno de la inspiracin y la
madurez mental.
Lenguajes de programacin
Un lenguaje de programacin es un lenguaje
formal diseado para expresar procesos que
pueden ser llevados a cabo por mquinas como
las computadoras.
Pueden usarse para crear programas que
controlen el comportamiento fsico y lgico de
una mquina, para expresar algoritmos con
precisin, o como modo de comunicacin
humana.
Lenguajes de Programacin
Introduccin a Phyton
Historia de Python
Python es desarrollado por Guido Van Rossum, a
diferencia de lo que muchos creen por el logo de
Python, el nombre viene de la aficin del creador
por Monty Python un grupo cmico ingls.
A pesar de la moda que se esta dando por el uso
de Python en los ltimos aos, Python ya tiene
sus aos, sale a la luz con su versin 1.0 a
principios de 1994.
Introduccin a Phyton
Historia de Python
Python es un lenguaje interpretado y
multiparadigma.
Soporta paradigmas.
Orientado a objetos
Funcional
Modular
Introduccin a Phyton
En la programacin tenemos los lenguajes compilados e
interpretados, Python es un lenguaje interpretado.
En un lenguaje compilado, el compilador lee todo y
entrega algo a partir de esa lectura, que se llama cdigo
objeto y un ejecutable. Algo parecido a un .exe
Los lenguajes interpretados se van leyendo lnea a lnea
y normalmente hacen su mejor esfuerzo y entregan
resultado, muchos interpretes no dicen donde esta el
error, en general, tienen menos opciones de depuracin,
actualmente ya no sucede esto, o sucede menos.
http://www.python.org
Introduccin a Phyton
IDLE que significa Integradted DeveLopment
Operaciones Matemticas
Operaciones Matemticas
Variables en Python.
Nmeros
Enteros: 1,2,3-1,-2-3100, 200 etc. Existe el
entero largo, ya que en algunos casos el nmero
es muy largo y no cabe en un entero, p.e. un
nmero como 12121213141241241241, es muy
largo y no cabe en un entero normal as que
necesitamos un longint, entero largo.
Variables en Python.
A) En una mquina de 32 bits el rango de un
entero es de -2.147.483.648
a 2.147.483.648
Variables en Python.
Reales, se refiere a los nmero con decimales.
1.345,3,141516, etc. (float)
Variables en Python.
Cadenas de caracteres: las cadenas como son
un conjunto de caracteres, se pueden combinar
entre nmeros, algunos signos de puntuacin,
letras, etc. Lo importante es que se tiene que estar
entre comillas simples o dobles depende el caso.
Ejemplos:
luis
hola este es un ejemplo 3141%%4#,
Variables en Python.
Booleanos: los boleanos slo pueden tomar
dos valores, falso (True) y verdadero (False).
En Python si la variable es verdadera tambin
podemos utilizar el 1 como true y false puede
tomar el valor 0
True=1
False=0
Brevemente, indique
por qu se produce
el error
Variables en Python.
En resumen (tipos de
datos).
Nmeros
Enteros
Reales
Complejos
Cadenas
Booleanos
Operadores Matemticos.
Suma
Resta
Multiplicacin
Exponente
Divisin tenemos
Divisin reales
Enteros
Resto
*
**
3 operadores
/
//
%
Suma
Rest
a
Multiplicaci
n
Exponente
Divisin
/
Divisin
//
Cul es el valor
de resultado2,
por qu?
Divisin
%
Qu valor
representa el
resultado?
Uso de IDLE
NEW FILE
Instrucciones
Cree una capeta en el escritorio, con el
nombre
TALLER
Desarrolle sus ejercicios en esta carpeta.
Carpeta
en
Escritorio:
TALLER
Archivo:
hola_mundo.py
Cdigo aqu
Responda, basados en el
ejercicio anterior.
Para qu se emplea float(),
Para que se emplea str().
Qu es concatenar.
Estructuras de Control
Secuenciales
Selectivas
Repetitivas
Secuenciales
Selectiva
Repetitiva
Inici
o
N = int(input("Ingrese N: ))
Leer N
N>
2
while N>2:
N=N-2
No
Si
if N==2:
N=N-2
Escribe es
par
N=
2
else:
print (es impar)
No
Fin
Escribe es
impar
Ejercicio: par.py
Estructuras de
Control
Alternativas
Simples
Si entonces
if-then
Tipos de Bucles
Ejercicio: sumatoria.py
suma=0
inicio=1
fin=10
for i in range(inicio, fin):
suma=suma+i
print (i)
Comentar
Problema.
Si se colocase sobre un tablero de ajedrez
(lo suficientemente grande) un grano de
trigo en el primer casillero, dos en el
segundo, cuatro en el tercero y as
sucesivamente (doblando la cantidad de
granos en cada siguiente casillero), cuntos
granos de trigo habra en el tablero al final?
Resolver empleando fuerza bruta, para ello
Etapa 2.
17:00 18:00
valor=10
print("El valor de la variable valor =
"+ valor)
print("El valor de la variable valor = "+
str(valor))
Ejercicio: tipodato.p
while
contador = 0
while (contador < 5):
print "El contador es : %i" %
contador
contador = contador + 1
if (contador > 3):
break
print ("Fin del programa)
Ejercicio: while_contador.py
for
numero=10
contador=0
for i in range(1,numero+1):
if ( numero % i )==0:
Pruebe el
siguiente
cdigo y
comente su
funcionamient
o.
contador = contador + 1
print(contador)
Ejercicio: for_range.py
numero= int(input("ingresa un
nmero : ") )
Ejercicio
contador = 0
for i in range(1, numero+1):
if ( numero % i )==0:
contador = contador + 1
if contador==2:
print ("el numero es primo)
else:
print ("el numero no es
primo)
Ejercicio:
numero_prim
o.py
Listas
La lista es una coleccin de datos
ordenada, alguna equivalencia con otros
lenguajes seria los arrays o vectores.
La lista puede contener cualquier tipo de
dato (enteros, cadenas y otras listas )
Listas
lista = [ ''hola'', 2 , 'Mariana'',
[1,2,3] ]
print (lista)
Comente
Ejercicio:
lista.py
Listas
Si queremos acceder a uno de los elementos de la lista
lo hacemos utilizando el nombre que hacemos
referencia a la lista en este caso lo llame lista puede ser
cualquiera y entre corchete indicamos un ndice, dicho
ndice va de 0 a n-1
Comente
Nombre
archivo:
lista1.py
Listas
lista = [ ''hola'', 2 , 'Chile'',
[1,2,3] ]
print (lista[3] [1])
Comente
Nombre archivo:
lista2.py
Listas
nombres=["uno","dos","tres","cuatro","
cinco"]
print (len(nombres))
print (nombres[1:4])
Comente
Nombre archivo:
lista3.py
Listas
n=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,
18,19,20]
comente
print n[0:21]
print n[3:10]
print (n[0:21:2])
inicio:fin:salto
Comente
Nombre
archivo:
lista4.py
Listas
n=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,
18,19,20]
print(n)
n.append(21)
comente
print(n)
Nombre
archivo:
lista5.py
Listas
n=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,
18,19,20]
print(n)
n.remove(20)
print(n)
Comente
Nombre
archivo:
lista6.py
Listas
n=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,1
7,18,19,20]
print(n)
n.reverse()
print(n)
Comente
Nombre
archivo:
Funciones
def mi_funcion(param1,
param2):
print (param1)
print (param2)
mi_funcion("hola", "luis")
Nombre archivo:
mi_funcion.py
Funciones
def suma( a, b):
resultado = a + b
return resultado
def resta( a, b):
resultado = a - b
return resultado
print (suma(10,2))
print (resta(10,2))
Nombre archivo:
funcion_op.py
Funciones
def suma( valor1, valor2):
resultado = valor1+ valor2
return resultado
a=int(input("Ingrese a: "))
b=int(input("Ingrese b: "))
print("La suma es:" +
str(suma(a,b)))
Nombre
archivo:
funcion_suma_i
.py
Funciones
def funcion(x, y):
return x * 2, y * 2
Nombre archivo:
funcion2.py
a, b = funcion(1, 2)
print(a)
print(b)
Ejemplo
http://wiki.scipy.org/Cookbook/Interpolation