Está en la página 1de 11

UNIVERSIDAD DE EL SAVADOR ANALISIS NUMERICO - ANN115 M.SC. E ING.

WILBER CALDERON
FACULTAD DE INGENIERIA Y ARQUITECTURA
ESCUELA DE INGENIERIA ELECTRICA

Guia de laboratorio # 3
Introduccion a Python

Objetivo general

▪ Hacer una primera inducción al lenguaje de programación Python.

Objetivos especificos

▪ Aprender sobre los tipos de datos, operadores y bucles de Python .

▪ Escribir funciones en Python.

Introduccion

La tercera practica de laboratorio corresponde a la introducción en Python que es un lenguaje de


programación interpretado, orientado a objetos y de alto nivel con semántica dinámica. Su alto nivel
integrado en estructuras de datos, combinado con escritura dinámica y enlace dinámico, lo hacen muy
atractivo para el desarrollo rápido de aplicaciones, así como para su uso como un lenguaje de scripting o
pegamento para conectar los componentes existentes juntos. La sintaxis simple y fácil de aprender de
Python enfatiza la legibilidad y, por lo tanto, reduce el costo de mantenimiento del programa. Python
admite módulos y paquetes, lo que fomenta el modularidad del programa y la reutilización del código. El
intérprete de Python y la extensa biblioteca estándar están disponibles en forma de origen o binaria sin
cargo para todas las plataformas principales, y se pueden distribuir libremente.

GUIA DE LABORATORIO 3: INTRODUCCIÓN A PYTHON Y CREACIÓN DE FUNCIONES EN PYTHON.


UNIVERSIDAD DE EL SAVADOR ANALISIS NUMERICO - ANN115 M.SC. E ING. WILBER CALDERON
FACULTAD DE INGENIERIA Y ARQUITECTURA
ESCUELA DE INGENIERIA ELECTRICA

Tipos de datos en Python


Tipo Clase Notas Ejemplo
str Cadena Inmutable 'Cadena'
unicode Cadena Versión Unicode de str u'Cadena'
Mutable, puede contener
list Secuencia [4.0, 'Cadena', True]
objetos de diversos tipos
Inmutable, puede contener
tuple Secuencia (4.0, 'Cadena', True)
objetos de diversos tipos
Mutable, sin orden, no set([4.0, 'Cadena',
set Conjunto
contiene duplicados True])
Inmutable, sin orden, no frozenset([4.0, 'Cadena',
frozenset Conjunto
contiene duplicados True])
{'key1': 1.0, 'key2':
dict Mapping Grupo de pares clave:valor False}
Número Precisión fija, convertido en
int 42
entero long en caso de overflow.
Número
long Precisión arbitraria 42L ó 456966786151987643L
entero
Número Coma flotante de doble
float 3.1415927
decimal precisión
Número
complex Parte real y parte imaginaria j. (4.5 + 3j)
complejo
Valor booleano verdadero o
bool Booleano True o False
falso
Tabla 1: tipos de datos en Python.

Entre las cosas más importantes que debemos de recordar están:

▪ Para escribir números octales se antepone un 0. Para números hexadecimales, se antepone un 0x


y para binarios un 0b:

In[2]: 0xf
Out[2]: 15

In[5]: 010
Out[5]: 8

In[68]: 0b1111
Out[68]: 15

GUIA DE LABORATORIO 3: INTRODUCCIÓN A PYTHON Y CREACIÓN DE FUNCIONES EN PYTHON.


UNIVERSIDAD DE EL SAVADOR ANALISIS NUMERICO - ANN115 M.SC. E ING. WILBER CALDERON
FACULTAD DE INGENIERIA Y ARQUITECTURA
ESCUELA DE INGENIERIA ELECTRICA

▪ La indexación en Python inicia desde el número 0, de izquierda a derecha, y con el -1 de derecha


a izquierda:

In [9]: lista = ["Primero", "Segundo", "Tercero", "Cuarto", "Quinto", "Sexto"]

In [10]: lista[0]
Out[10]: 'Primero'

In [11]: lista[5]
Out[11]: 'Sexto'

In [12]: lista[-1]
Out[12]: 'Sexto'

In [13]: lista[-2]
Out[13]: 'Quinto'

In [14]: lista[-5]
Out[14]: 'Segundo'

In [15]: lista[-6]
Out[15]: 'Primero'

▪ También podemos llamar sublistas:

In [22]: texto = "Analisis Numerico"

In [23]: texto[3:]
Out[23]: 'lisis Numerico'

In [24]: texto[4:6]
Out[24]: 'is'

In [25]: texto[:-1]
Out[25]: 'Analisis Numeric'

In [26]: texto[:0]
Out[26]: ''

In [27]: texto[0:]
Out[27]: 'Analisis Numerico'

GUIA DE LABORATORIO 3: INTRODUCCIÓN A PYTHON Y CREACIÓN DE FUNCIONES EN PYTHON.


UNIVERSIDAD DE EL SAVADOR ANALISIS NUMERICO - ANN115 M.SC. E ING. WILBER CALDERON
FACULTAD DE INGENIERIA Y ARQUITECTURA
ESCUELA DE INGENIERIA ELECTRICA

La siguiente imagen sirve de ayuda para entender los índices en Python.

▪ Podemos usar la función type() para averiguar el tipo de dato de algún objeto:

In [41]: complejo = 3 + 5j

In [42]: type(complejo)
Out[42]: complex

▪ Para los comentarios de una linea, usar # (semejante al // de C++). Para los comentarios de varias
lineas, usar '''…''' (semejante al /*...*/ de C):

In [45]: ''' Esto es un comentario

....: de varias lineas '''


Out[45]: ' Esto es un comentario\nde varias lineas '''
In [46]: # Esto es un comentario de una linea

Operadores en Python
A continuación, se presenta una lista de los diferentes operadores que tiene Python:

Operadores lógicos:
In [48]: True and False
Out[48]: False

In [49]: True or False


Out[49]: True

In [50]: not False


Out[50]: True

GUIA DE LABORATORIO 3: INTRODUCCIÓN A PYTHON Y CREACIÓN DE FUNCIONES EN PYTHON.


UNIVERSIDAD DE EL SAVADOR ANALISIS NUMERICO - ANN115 M.SC. E ING. WILBER CALDERON
FACULTAD DE INGENIERIA Y ARQUITECTURA
ESCUELA DE INGENIERIA ELECTRICA

Operadores de comparación:

In [51]: 5 == 4

Out[51]: False

In [52]: 5 != 4
Out[52]: True

In [53]: 5 < 4
Out[53]: False

In [54]: 5 <= 4
Out[54]: False

In [56]: 5 > 4
Out[56]: True

In [57]: 5 >= 4
Out[57]: True

Operadores aritméticos:
In [58]: 5 + 6.7 # Suma

Out[58]: 11.7

In [59]: 5 - 6.7 # Resta


Out[59]: -1.7000000000000002

In [60]: 5*6.7 # Multiplicacion


Out[60]: 33.5

In [61]: 5/6.7 # Division


Out[61]: 0.7462686567164178

In [62]: 10/3 # Division entera


Out[62]: 3

In [63]: 10%3 # Modulo


Out[63]: 1

In [64]: 2**4 # Potenciacion


Out[64]: 16

GUIA DE LABORATORIO 3: INTRODUCCIÓN A PYTHON Y CREACIÓN DE FUNCIONES EN PYTHON.


UNIVERSIDAD DE EL SAVADOR ANALISIS NUMERICO - ANN115 M.SC. E ING. WILBER CALDERON
FACULTAD DE INGENIERIA Y ARQUITECTURA
ESCUELA DE INGENIERIA ELECTRICA

Operadores bit a bit:

In [71]: 8 & 7 # 1000b & 0100


b

Out[71]: 0

In [72]: 8 | 7 # 1000b | 0100


b
Out[72]: 15

In [73]: 8 ^ 15 # 1000b ^ 111


1b
Out[73]: 7

In [75]: ~0 # ~1111b
Out[75]: -1

In [76]: 1 << 2 # 0001b << 2


Out[76]: 4

In [77]: 4 >> 2 # 0100b >> 2


Out[77]: 1

GUIA DE LABORATORIO 3: INTRODUCCIÓN A PYTHON Y CREACIÓN DE FUNCIONES EN PYTHON.


UNIVERSIDAD DE EL SAVADOR ANALISIS NUMERICO - ANN115 M.SC. E ING. WILBER CALDERON
FACULTAD DE INGENIERIA Y ARQUITECTURA
ESCUELA DE INGENIERIA ELECTRICA

Lazos y condicionales en Python


Lazo while:
In [97]: i = 0

In [98]: while i < 10:


....: print i
....: i += 1
....:
0
1
2
3
4
5
6
7
8
9

Lazo for: In [80]: for i in range(-5, 5, 2):

....: print(i)
....:
-5
-3
-1
1
3

In [84]: for n in cadena[2:13]:


....: print(n)
....:
l
o

d
o
b
l
e

c
o

GUIA DE LABORATORIO 3: INTRODUCCIÓN A PYTHON Y CREACIÓN DE FUNCIONES EN PYTHON.


UNIVERSIDAD DE EL SAVADOR ANALISIS NUMERICO - ANN115 M.SC. E ING. WILBER CALDERON
FACULTAD DE INGENIERIA Y ARQUITECTURA
ESCUELA DE INGENIERIA ELECTRICA

Sentencia if:
In [103]: numero = 3

In [104]: if numero == 1:
.....: print "El numero es 1"
.....: elif numero == 2:
.....: print "El numero es 2"
.....: else:
.....: print "El numero es 3"
.....:
El numero es 3

Creación de funciones en Python

Para crear nuestras funciones en Python usaremos la siguiente sintaxis:

def <nombre de la función>(<argumento 1>, <argumento 2>, …):

<Cuerpo de la función>
return <variable a retornar (en caso se retorne algún dato)>

Las funciones las debemos escribir en un archivo de texto con la terminación .py para indicar que es un
archivo de Python. No es necesario que el archivo tenga el mismo nombre de la función (como en Octave),
por lo que en un mismo archivo podemos tener definidas varias funciones (como en C), de esta manera
estaríamos creando un módulo (semejante a las librerías en C). La forma para llamar al módulo será:

from <nombre del archivo donde esta nuestra función> import*

La línea anterior importara todos los métodos y variables que se encuentren en el módulo invocado.

GUIA DE LABORATORIO 3: INTRODUCCIÓN A PYTHON Y CREACIÓN DE FUNCIONES EN PYTHON.


UNIVERSIDAD DE EL SAVADOR ANALISIS NUMERICO - ANN115 M.SC. E ING. WILBER CALDERON
FACULTAD DE INGENIERIA Y ARQUITECTURA
ESCUELA DE INGENIERIA ELECTRICA

Ejemplo 1:
# Promedio de una lista de numeros

def promedio(x):
return sum(x)/len(x)

# Rango de una lista de numeros


def rango(x):
return max(x) - min(x)

Ejemplo 2:

# Serie de Fibonacci de manera recursiva


def fibonacci(indice):
if indice < 3:
return indice - 1
else:
return fibonacci(indice - 1) + fibonacci(indice - 2)

Ejemplo 3:

# Metodo de la biseccion en forma recursiva

def biseccion_recursiva(lim_inf, lim_sup, f):


if evalxy(f, lim_inf)*evalxy(f, lim_sup) < 0:
raiz = (lim_inf + lim_sup)/2
if 0.000000001 < abs(evalxy(f, raiz)):
if evalxy(f, lim_inf)*evalxy(f, raiz) < 0:
return biseccion_recursiva(lim_inf, raiz, f)
else:
return biseccion_recursiva(raiz, lim_sup,f)
else:
return raiz
else:
return "ERROR FATAL"

GUIA DE LABORATORIO 3: INTRODUCCIÓN A PYTHON Y CREACIÓN DE FUNCIONES EN PYTHON.


UNIVERSIDAD DE EL SAVADOR ANALISIS NUMERICO - ANN115 M.SC. E ING. WILBER CALDERON
FACULTAD DE INGENIERIA Y ARQUITECTURA
ESCUELA DE INGENIERIA ELECTRICA

Ejemplo 4:

def evalxy(f, x, y = 0) :
"""
Funcion utilizada para evaluar una expresion matematica
escrita en sintaxis de python. La expresion matematica
puede estar en funcion de la variable x o y (por defecto
y = 0, por lo que se puede omitir si la expresion solo
depende de x).

Ejemplo:

>>> evalxy("3+x*2-x**2", 2.1)


>>> 2.79
>>> evalxy("2*cos(x)-sin(y)", 0, 1.570796)
>>> 1.0000000000000533
"""
return eval(f);
# Maximo comun divisor de manera recursiva
def MCD_recursivo(int_1, int_2, divisor = 0):
if divisor == 0:
divisor = min(int_1, int_2)
if 0 < int_1 and 0 < int_2:
if int_1%divisor != 0 or int_2%divisor != 0:
return MCD_recursivo(int_1, int_2, divisor - 1)
else:
return divisor;
else:
return "ERROR FATAL"

Asignaciones
En el laboratorio:

▪ Desarrollar guía de laboratorio y realice la función de factorial en Python


▪ Realice una función que calcule le mínimo común múltiplo de 2 números enteros

GUIA DE LABORATORIO 3: INTRODUCCIÓN A PYTHON Y CREACIÓN DE FUNCIONES EN PYTHON.


UNIVERSIDAD DE EL SAVADOR ANALISIS NUMERICO - ANN115 M.SC. E ING. WILBER CALDERON
FACULTAD DE INGENIERIA Y ARQUITECTURA
ESCUELA DE INGENIERIA ELECTRICA

Tarea de laboratorio:

▪ Realice la función haciendo uso de la serie de Taylor del coseno



(−1)𝑛 2𝑛
𝑐𝑜𝑠(𝑥) = ∑ 𝑥
(2𝑛)!
𝑛=0

▪ Realice la función haciendo uso de la serie de Taylor del logaritmo natura

𝑥−1 1 𝑥−1 2 1 𝑥−1 3


𝑙𝑛(𝑥) = ( )+ ( ) + ( ) +⋯ 𝑝𝑎𝑟𝑎 𝑥 ≥ 1/2
𝑥 2 𝑥 3 𝑥

▪ Realice una función que implemente el método de la secante

GUIA DE LABORATORIO 3: INTRODUCCIÓN A PYTHON Y CREACIÓN DE FUNCIONES EN PYTHON.

También podría gustarte