Está en la página 1de 21

8/9/2019 eda3 - Jupyter Notebook

In [1]:

from IPython.display import Image


Image("img/python.png")

Out[1]:

Introducción a Markdown en Jupyter (Julia, Python &


R)
Títulos:

Títulos (Nivel 1)
Títulos (Nivel 2)

Títulos (Nivel 3)

Títulos (Nivel 4)

Énfasis:
Texto en negrita: string o string
Texto en cursiva: string o string

Listas:
Las listas en Markdown se realizan indicando un asterisco o un número seguido de un punto si se desean
listas numeradas. Markdown organiza automáticamente los items asignándoles el número correcto.

Lista 1
Lista 2
Lista numerada 1
Lista numerada 2

Imágenes:

localhost:8888/notebooks/Desktop/code - copia (2)/code - copia (2)/eda3.ipynb 1/21


8/9/2019 eda3 - Jupyter Notebook

La sintaxis para incluir imágenes en Markdown es ![nombre alternativo](dirección de la imagen) en donde el


nombre alternativo aparecerá en caso de que no se pueda cargar la imágen y la dirección puede referirse a
una imagen local o un enlace en Internet.

HTML:
Inclusión de código HTML: El lenguaje Markdown es un subconjunto del lenguaje HTML y en donde se
necesite un mayor control del formato, se puede incluir directamente en HTML.

En Ing. de Sistemas, somos una familia de

amigos
pensadores
desarrolladores

trabajando juntos...

Enlaces:
Enlaces: Las celdas de texto pueden contener enlaces, tanto a otras partes del documento, como a páginas en
internet u otros archivos locales. Su sintaxis es [texto](dirección del enlace).

Python (https://www.python.org)

Fórmulas:
Gracias al uso de MathJax, se puede incluir código en LaTeX para mostrar todo tipo de fórmulas y expresiones
...
matemáticas. Las fórmulas dentro de una línea de texto se escriben entre símbolos de dolar ( ) mientras que
las expresiones separadas del texto utilizan símbolos de dolar dobles (
...
)

𝑎=𝑏+𝑐
𝑐 = √⎯𝑎⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
2 + 𝑏2⎯

𝐻 ← 0+ 𝑉𝑚𝑎𝑥 30(𝐺 − 𝐵)
− 𝑉𝑚𝑖𝑛
Salto de linea:
A veces, la rebaja no hace saltos de línea cuando los quieres.
Para forzar un salto de línea, use el siguiente código:

Sangría:
Use el signo mayor que (>) seguido de un espacio, por ejemplo:

localhost:8888/notebooks/Desktop/code - copia (2)/code - copia (2)/eda3.ipynb 2/21


8/9/2019 eda3 - Jupyter Notebook

Este texto tiene sangría

Este texto támbien tiene sangría

Viñetas:
Para crear una viñeta circular, use uno de los siguientes métodos. Cada viñeta debe estar en su propia línea.

Viñeta 1
Viñeta 2
Viñeta 2.1
Viñeta 2.2
Viñeta 2.2.1
Viñeta 3

Cajas de notas de colores:

Tip: Use blue boxes (alert-info) for tips and notes If it’s a note, you don’t have to include the word “Note”.

Example: Use yellow boxes for examples that are not inside code cells, or use for mathematical formulas
if need

Up to you: Use green boxes sparingly, and only for purpose that the other boxes can't cover. For
example, if of related content to link to, maybe you decide to use gre related links from each section of a
notebook.

Just don't: In general, avoid the red boxes. These used for actions that might cause data loss or another
...

Lineas horizontales:
De ser necesaría una línea horizonta, en una nueva línea, ingrese tres asteriscos de la forma:

Capítulo 4: Estructuras de control


4.1.1. Un programa ilustrativo
Resolución de ecuaciones de primer grado. Veamos un ejemplo. Diseñemos un programa para resolver
cualquier ecuación de primer grado de la forma

ax + b = 0; donde x es la incógnita.
localhost:8888/notebooks/Desktop/code - copia (2)/code - copia (2)/eda3.ipynb 3/21
8/9/2019 eda3 - Jupyter Notebook

In [1]:

from IPython.display import Image


Image("img/1.png")

Out[1]:

In [3]:

#Desarrollar
print ('programa')
a= float (input('valor de a: '))
b= float (input('valor de b: '))
x= -b/a
print ('Solucion:', x)

programa
valor de a: 2
valor de b: 2
Solucion: -1.0

4.1.2. La sentencia condicional if


Este tipo de sentencia se denomina condicional o de selección y en Python es de la siguiente forma:

if condición:
acción
acción
acción
...
acción

localhost:8888/notebooks/Desktop/code - copia (2)/code - copia (2)/eda3.ipynb 4/21


8/9/2019 eda3 - Jupyter Notebook

In [3]:

from IPython.display import Image


Image("img/2.png")

Out[3]:

In [6]:

#Desarrollar
print ('Programa para la resolucion de la ecuacion ax+ b = 0')

a=float (input ('valor de a: '))


b=float (input ('valor de b: '))

if a !=0:
x = -b/a
print ('solucion: ',x)

if a==0:
print ( 'La ecuaion no tiene solucion.')

Programa para la resolucion de la ecuacion ax+ b = 0


valor de a: 10
valor de b: 3
solucion: -0.3

4.1.3. Sentencias condicionales anidadas


Si, además, b vale 0, entonces la ecuación tiene infinitas soluciones. Para que el programa dé una información
correcta vamos a modificarlo de modo que, cuando a sea 0, muestre un mensaje u otro en función del valor de
b:

localhost:8888/notebooks/Desktop/code - copia (2)/code - copia (2)/eda3.ipynb 5/21


8/9/2019 eda3 - Jupyter Notebook

In [5]:

from IPython.display import Image


Image("img/3.png")

Out[5]:

In [11]:

#Desarrollar

print ('Programa para la resolucion de la ecuacion ax + b = 0')

a= float ( input('valor de a : '))


b= float (input ('valor de b: '))

if a != 0:
x =-b/a
print ('Solucion: ',x)

if a==0:

if b != 0:
print ('La ecuacion no tiene soluciones')
if b== 0:
print ('La ecuacion tiene infinitas soluciones')

Programa para la resolucion de la ecuacion ax + b = 0


valor de a : 0
valor de b: 0
La ecuacion tiene infinitas soluciones

localhost:8888/notebooks/Desktop/code - copia (2)/code - copia (2)/eda3.ipynb 6/21


8/9/2019 eda3 - Jupyter Notebook

4.1.4. Otro ejemplo: resolución de ecuaciones de segundo


grado
ax*x + bx + c = 0

In [7]:

from IPython.display import Image


Image("img/4.png")

Out[7]:

In [ ]:

#Desarrollar
from math import sqrt
print ('Programa para la resolucion de la ecuacion aX*X + BX +C = 0')

a = float (input (' valor de a :' ))


b = float (input ( 'valor de b :' ))
c = float (input ( 'valor de c :' ))

if a !=0:
x1 = (-b + sqrt(b**2 - 4*a*c))/(2*a)
x2 = (-b - sqrt(b**2 - 4*a*c))/(2*a)
print ( 'Soluciones : x1={0:.3f} y x2 = {1:.3f}'.format(x1, x2))

if a==0:
print ( 'No es una ecuacion de segundo grado')

Programa para la resolucion de la ecuacion aX*X + BX +C = 0

4.1.5. En caso contrario (else)

Hasta ahora desarrollamos este modelo de condiciones

if condición:
acciones
if condición contraría:
otras acciones

Una forma abreviada que significa lo mismo:

localhost:8888/notebooks/Desktop/code - copia (2)/code - copia (2)/eda3.ipynb 7/21


8/9/2019 eda3 - Jupyter Notebook

if condición:
acciones
else:
otras acciones

Veamos un ejemplo

ax**2 + bx + c = 0

In [9]:

from IPython.display import Image


Image("img/5.png")

Out[9]:

In [ ]:

#Desarrollar
from math import sqrt
print ('Programa para la resolucion de la ecuacion aX*X + BX +C = 0')

a = float (input (' valor de a :' ))


b = float (input ( 'valor de b :' ))
c = float (input ( 'valor de c :' ))

if a !=0:
x1 = (-b + sqrt(b**2 - 4*a*c))/(2*a)
x2 = (-b - sqrt(b**2 - 4*a*c))/(2*a)
print ('Soluciones : x1 = {0:.3f} y x2 = {1:.3f}'.format(x1,x2))

else:
print ('No es una ecuacion de segundo grado')

¿Cómo evitar posibles errores? Muy sencillo, añadiendo nuevos controles con la sentencia if, tal y como
hicimos para resolver correctamente una ecuación de primer grado:

localhost:8888/notebooks/Desktop/code - copia (2)/code - copia (2)/eda3.ipynb 8/21


8/9/2019 eda3 - Jupyter Notebook

In [11]:

from IPython.display import Image


Image("img/6.png")

Out[11]:

In [ ]:

#Desarrollar

from math import sqrt


print ('Programa para la resolucion de la ecuacion aX*X + BX +C = 0')

a = float (input (' valor de a :' ))


b = float (input ( 'valor de b :' ))
c = float (input ( 'valor de c :' ))

if a !=0:
x1 = (-b + sqrt(b**2 - 4*a*c))/(2*a)
x2 = (-b - sqrt(b**2 - 4*a*c))/(2*a)
print ('Soluciones : x1 = {0:.3f} y x2 = {1:.3f}'.format(x1,x2))

else:
if b!=0:
x= -c/b
print ('Solucion: x={0:.3f}'.fotmat(x))
else:
if c !=0:
print ('La ecuacion no tiene solucion')

Otro ejemplo de condicionales, donde el objetivo es determinar el máximo de 3 números ingresados


localhost:8888/notebooks/Desktop/code - copia (2)/code - copia (2)/eda3.ipynb 9/21
8/9/2019 eda3 - Jupyter Notebook

por el usuario

In [13]:

from IPython.display import Image


Image("img/7.png")

Out[13]:

In [ ]:

#Desarrollar
a = int(input ( 'Dame el primer numero: '))
b = int(input ('Dame el segundo numero: '))
c = int(input('Dame el tercer numero: '))

if a>b:
if a > c:
máximo = a
else:
máximo =c
else:
if b>c:
máximo = b
else:
máximo = c
print ('El maximo es; ', máximo)

Otra forma de realizar condicionales utilizando el operador and, or

localhost:8888/notebooks/Desktop/code - copia (2)/code - copia (2)/eda3.ipynb 10/21


8/9/2019 eda3 - Jupyter Notebook

In [15]:

from IPython.display import Image


Image("img/8.png")

Out[15]:

In [ ]:

#Desarrollar
a = int(input ( 'Dame el primer numero: '))
b = int(input ('Dame el segundo numero: '))
c = int(input('Dame el tercer numero: '))

if a >= b and >= c:


maximo = a
if b>= a and b >= c;
maximo = b
if c>= < and c >=b :
maximo = c
print ('El maximo es: ', maximo)

Un último ejemplo con condicionales

In [17]:

from IPython.display import Image


Image("img/9.png")

Out[17]:

localhost:8888/notebooks/Desktop/code - copia (2)/code - copia (2)/eda3.ipynb 11/21


8/9/2019 eda3 - Jupyter Notebook

In [ ]:

#Desarrollar
mes = int(input('Ingresa un mes en numero (1-12): '))

if 1 <= mes <= 3:


print ('Invierno.')
else:
if mes == 4 or mer == 5 or mes ==6:
print ('Primavera.')
else:
if not (mes!=10 and mes !=11 and !=12):
print('Otoño.')
else:
print('Ningun año tiene {0} meses'. format(mes))

4.2.1. La sentencia while


La sentencia while se usa así:

while condición:
acción
acción
...
acción

Veamos un ejemplo

In [20]:

from IPython.display import Image


Image("img/10.png")

Out[20]:

localhost:8888/notebooks/Desktop/code - copia (2)/code - copia (2)/eda3.ipynb 12/21


8/9/2019 eda3 - Jupyter Notebook

In [33]:

#Desarrollar
i=0
while i < 6:
print(i)
i +=1
print ('Hecho')

0
Hecho
1
Hecho
2
Hecho
3
Hecho
4
Hecho
5
Hecho

Veamos otro ejemplo

In [20]:

from IPython.display import Image


Image("img/11.png")

Out[20]:

In [ ]:

#Desarrollar
i=0
while i < 100:
i *=2
print(i)

In [ ]:

#Desarrollar
i=0
while i < 100:
i *=2
print(i)

localhost:8888/notebooks/Desktop/code - copia (2)/code - copia (2)/eda3.ipynb 13/21


8/9/2019 eda3 - Jupyter Notebook

In [ ]:

#Desarrollar
i=int(input('Valor inicial: '))
limite = int(input('limite: '))
incremento = int(input('incremento: '))
while i < limite:
print(i)
i +=incremento

4.2.5. El bucle for in

Hay otro tipo de bucle en Python: el bucle for in, que se puede leer como «para todo elemento de una serie,
hacer. . . ». Un bucle for in presenta el siguiente aspecto:

for variable in serie:


acción
acción
...
acción

Veamos cómo funciona con un sencillo ejemplo:

In [24]:

from IPython.display import Image


Image("img/13.png")

Out[24]:

In [40]:

#Desarrollar
for nombre in ['Pepe', 'Ana', 'Juan']:
print ('Hola, {0}.'.format(nombre))

Hola, Pepe.
Hola, Ana.
Hola, Juan.

Veamos otro ejemplo:

In [27]:

from IPython.display import Image


Image("img/14.png")

Out[27]:

localhost:8888/notebooks/Desktop/code - copia (2)/code - copia (2)/eda3.ipynb 14/21


8/9/2019 eda3 - Jupyter Notebook

In [44]:

#Desarrollar
número = int (input('Dame un numero: '))

for potencia in [2, 3, 4, 5]:


print ('{0} elevado a {1} es {2}'.format(número,potencia,número**potencia))

Dame un numero: 2
2 elevado a 2 es 4
2 elevado a 3 es 8
2 elevado a 4 es 16
2 elevado a 5 es 32

4.3. Captura y tratamiento de excepciones


Try y except presenta el siguiente aspecto:

try:
acción potencialmente errónea
acción potencialmente errónea
...
acción potencialmente errónea
except:
acción para tratar el error
acción para tratar el error
...
acción para tratar el error

Veamos un ejemplo:

localhost:8888/notebooks/Desktop/code - copia (2)/code - copia (2)/eda3.ipynb 15/21


8/9/2019 eda3 - Jupyter Notebook

In [29]:

from IPython.display import Image


Image("img/15.png")

Out[29]:

In [30]:

#Desarrollar
from math import sqrt

a= float (input('valor de a: '))


b= float (input('valor de b: '))
c= float (input('valor de c: '))

try:
x1 =(- + sqrt(b**2 - 4*a*c))/(2*a)
x2 =(-b - sqrt(b**2 - 4*a*c))/(2*a)
if x1 == x2:
print('Soluciones : x= {0:.3f}'.format(x1))
else:
print('Soluciones : x1 ={0:.ef}y x2 = {1:.3f}'.format(x1,x2))
except ZeroDivisionError:
if b!=0:
print ('La ecuacion no tiene solucion')
else:
print('La ecuacion tiene infinitas soluciones')
except ValueError:
print('No hay soluciones reales')

localhost:8888/notebooks/Desktop/code - copia (2)/code - copia (2)/eda3.ipynb 16/21


8/9/2019 eda3 - Jupyter Notebook

In [31]:

from IPython.display import Image


Image("img/16.png")

Out[31]:

In [45]:

#Desarrollar
a=[1, 2, 3]
a

Out[45]:

[1, 2, 3]

In [34]:

from IPython.display import Image


Image("img/17.png")

Out[34]:

In [46]:

#Desarrollar
nombres = ['Juan', 'Antonia', 'Luis', 'Maria']
nombres

Out[46]:

['Juan', 'Antonia', 'Luis', 'Maria']

In [36]:

from IPython.display import Image


Image("img/18.png")

Out[36]:

In [47]:

#Desarrollar
a= [1, 2, 3]
a
len(a)

Out[47]:

localhost:8888/notebooks/Desktop/code - copia (2)/code - copia (2)/eda3.ipynb 17/21


8/9/2019 eda3 - Jupyter Notebook

5.2.8. Borrado de elementos de una lista


In [38]:

from IPython.display import Image


Image("img/19.png")

Out[38]:

In [48]:

#Desarrollar
a= [1, 2, 3]
del a [1]
a

Out[48]:

[1, 3]

5.4. Matrices
In [40]:

from IPython.display import Image


Image("img/20.png")

Out[40]:

In [50]:

#Desarrollar
M=[[1, 2, 3,],[2,12,6], [ 1, 0, -3], [0, -1, 0]]
M

Out[50]:

[[1, 2, 3], [2, 12, 6], [1, 0, -3], [0, -1, 0]]

Capítulo 6: Funciones

localhost:8888/notebooks/Desktop/code - copia (2)/code - copia (2)/eda3.ipynb 18/21


8/9/2019 eda3 - Jupyter Notebook

In [42]:

from IPython.display import Image


Image("img/21.png")

Out[42]:

In [43]:

#Desarrollar
from math import pi
R= int(input('Inggresa Radio: '))
r= int(input('Ingresa radio: '))

def area_circulo(r):
return round(pi*r**2, 2)

area_anillo = area_circulo(R) - area_circulo(r)


print(area_anillo)

Ahora recordemos el ejemplo visto en clases, el archivo externo a ser importando será:

area.py

In [44]:

from IPython.display import Image


Image("img/22.png")

Out[44]:

localhost:8888/notebooks/Desktop/code - copia (2)/code - copia (2)/eda3.ipynb 19/21


8/9/2019 eda3 - Jupyter Notebook

In [45]:

#Desarrollar
area.py
from math import pi
def area_circulo(r):
reurn round(pi*r**2, 2)

In [46]:

from IPython.display import Image


Image("img/23.png")

Out[46]:

In [47]:

#Desarrollar
import area
R=int(input('Ingresa Rdio : '))
r= int(input('Ingresa radio: '))
def area_anillo(R,r):
area.area_circulo(R)-area.areea_ciculo(r)
print(area_anillo(R, r))

Capítulo 7: Tipos estructurados (Clases y


Diccionarios)

localhost:8888/notebooks/Desktop/code - copia (2)/code - copia (2)/eda3.ipynb 20/21


8/9/2019 eda3 - Jupyter Notebook

In [48]:

from IPython.display import Image


Image("img/24.png")

Out[48]:

In [ ]:

#Desarrollar
class Persona:
def __init__(self, nombre , dni , edad, grupo):
self.nombre=nombre
self,dni=dni
self.edad=edad
self.grupo = grupo
toni= Persona('Antonio Perez','9999929h', 20, 'B')
ana= Persona ('Angelica Pilco','12132455x',21, 'B')

toni.nombre
toni.dni
toni.edad
toni.grupo

ana.nombre
ana.dni
ana.edad
ana.grupo

In [ ]:

localhost:8888/notebooks/Desktop/code - copia (2)/code - copia (2)/eda3.ipynb 21/21