You are on page 1of 18

UNIVERSIDAD NACIONAL AUTONOMA

DE MEXICO

FACULTAD DE INGENIERIA

Practica #9
Introduccin a Python: Parte I
Fecha de elaboracin: 13-Abril-2016

Alumno: Daniel ngeles Ortiz


Practica #9
Introduccin a Python: Parte 3
Objetivos

1) Aplicar las bases del lenguaje de programacin Python en el ambiente


de Jupyter notebook.

2) Insertar y ejecutar cdigo en las celdas de la notebook

3) Insertar texto en las celdas de la notebook

4) Declarar variables, Declarar cadenas, Aplicar operadores

5) Desarrollar la habilidad de Crear y manipular listas

6) Desarrollar la habilidad de Crear y manipular tuplas

7) Desarrollar la habilidad de Crear y manipular diccionarios

8) Desarrollar la habilidad de Crear y ejecutar funciones.

Introduccin

Python es un lenguaje de programacin que ha crecido mucho, como


todos los lenguajes tiene ventajas y desventajas

Ventajas
Open Source
Fcil de aprender
Gran cantidad de mdulos

Desventajas
Es un lenguaje interpretado por lo que toma ms tiempo de CPU
Introduccin al lenguaje

1. Variables y tipos

Los nombres de las variables son alfanumricos (a-z, A-Z, 0-9) y


empiezan con una letra en minscula.

No se especifica el tipo de valor que una varible contiene, est


implcito al momento de asignar un valor.

No se necesita poner ; al final de cada instruccin.

Mantener las indentaciones al momento de escribir cdigo.

Nombres reservados en Python: and, as, assert, break, class,


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

2. Cadenas
Las cadenas pueden ser definidas usando comilla simple (') o comilla doble (").
Una caracterstica especial de las cadenas es que son inmutables, esto quiere
decir que no se pueden cambiar los caracteres que contiene. El carcter \ sirve
para agregar caracteres de formato como \n o \t.

3. Operadores
1. Aritmticos: +, -, *, /

2. Booleanos: and, not, or


3. Relacionales (comparacin)

4. Listas

Bsicamente son valores que estn separados por comas dentro de parntesis
cuadrados.

Est compuesta por cualquier cantidad y/o tipo de datos, ya sean cadenas,
caracteres, nmeros e inclusive otras listas.

Se puede acceder a las listas por medio de ndices, estos ndices comienzan desde 0
hasta el nmero de elementos menos 1.

Las listas son mutables.


Referencias: Hay otras operaciones que se pueden realizar usando
listas, stas se pueden consultar en
https://docs.python.org/3/tutorial/datastructures.html#more-on-lists.

Ejemplo de uso de algunas funciones:


5. Tuplas

Son pareceidas a las listas, valores separados por una coma.

Comparadas con las listas, las tuplas no son mutables (los valores no se pueden
modificar).

Se pueden aplicar las mismas operaciones que en las listas.

Las tuplas consumen menos memoria para almacenarse que las listas.

Se crean ya sea utilizando parntesis o simplemente separando los valores por


comas.
6. Diccionarios

Un diccionario se crea usando { } y consta de dos partes: una llave y un valor.

Las llaves son inmutables, es decir, deben de tener un solo tipo de dato, una cadena
o nmero. Una vez que es creado, no se puede cambiar su tipo.

Los valores pueden ser de cualquier tipo y se pueden cambiar con el tiempo.

Los elementos en un diccionario no respetan el orden con el que se insertan.


Referencias:

Ms informacin sobre diccionarios en


https://docs.python.org/3/tutorial/datastructures.html#dictionaries

Desarrollo de la prctica

Ejercicio 1: Construir un men usando tuplas

1) Agregar elementos a la lista


2) Listar
3) Ordenar
4) Obtener la posicin del elemento x
5) Obtener el nmero de ocurrencias de un elemento
6) Borrar un elemento
Ingresa
7) Actualizar el valor de unalguna opcion:
elemento
8) Salir 1 ) Inserar Dato
2 ) Listar Dato
CDIGO 3 ) Borrar
4 ) Actualizar
5 ) Ordenar
6 ) numero de apara1ciones
7 ) buscar
8 ) Salir

Opcion:1

Cuntos datos quieres insertar:5

Ingresa nuevo dato:1

Ingresa nuevo dato:2

Ingresa nuevo dato:8

Ingresa nuevo dato:2

Ingresa nuevo dato:7


Ingresa alguna opcion:
1 ) Inserar Dato
2 ) Listar Dato
3 ) Borrar
4 ) Actualizar
5 ) Ordenar
6 ) numero de apara1ciones
7 ) buscar
8 ) Salir

Opcion:100
Esta no es una opcin
Ingresa alguna opcion:
1 ) Inserar Dato
2 ) Listar Dato
3 ) Borrar
4 ) Actualizar
5 ) Ordenar
6 ) numero de apara1ciones
7 ) buscar
8 ) Salir

Opcion:2
1)1
2)2
3)8
4)2
5)7
menu=("InserarIngresa
Dato","Listar
algunaDato","Borrar","Actualizar","Ordenar",\
opcion:
"numero de apara1ciones","buscar","Salir")
1 ) Inserar Dato
lista=[]
2 ) Listar Dato
def insertar(datos):
3 ) Borrar
x=int(input("Cuntos datos quieres insertar:"))
while x>0: 4 ) Actualizar
5 ) Ordenar
b=int(input("Ingresa nuevo dato:"))
6 ) numero de apara1ciones
datos.append(b)
x-=1 7 ) buscar
8 ) Salir

def listar(datos):Opcion:6
a=len(datos)
b=0 Ingresa el dato que ests
while b<a:
buscando:2
print(b+1,")",datos[b])
b+=1
Aparece 2 veces el dato 2
Ingresa alguna opcion:
1 ) Inserar Dato
def borrar(datos):
2 ) Listar
x=int(input("Ingresa Datoque quieres borrar:"))
el dato
3 ) Borrar
datos.remove(x)
4 ) Actualizar
5 ) Ordenar
def actualizar(datos):
x=int(input("Ingresa el dato
6 ) numero deque quieres actualizar:"))
apara1ciones
c=buscardato(datos,x)
7 ) buscar
a=int(input("Por
8 ) que
Salirdato lo quieres actualizar:"))
datos[c]=a
print("El {} ha sido actualizado por {}".format(x,datos[c]))
Opcion:3
def buscardato(datos,dato):
Ingresa el dato que quieres
pos=datos.index(dato)
return pos borrar:2
Ingresa alguna opcion:
def ordenar(datos):
Opcion:2
for j in range(len(datos)-1,0,-1):#Desde el numero de lugares hasta cero
for i in range(j):
1)1 #con decremento de uno
if datos[i]>datos[i+1]:
2)8
temp =
3 )datos[i]
2
datos[i] = datos[i+1]
4)7
datos[i+1] = temp

def contarApariciones(datos):
Dato que
x=int(input("Ingresa buscas:8
el dato que ests buscando:"))
cont=0 El dato8 se encuentra en la
posicion 1
Ingresa alguna opcion:
1 ) Inserar Dato
2 ) Listar Dato
3 ) Borrar
4 ) Actualizar
5 ) Ordenar
6 ) numero de apara1ciones
7 ) buscar
8 ) Salir

Opcion:8
Adios
for dato in datos:
if dato==x:
cont+=1
if cont>1:
print("Aparece",cont,"veces el dato",x)
elif cont==1:
print("El dato {} aparece una vez".format(x))
else:
print("El dato {} no aparece ni una vez".format(x))

w=0
while w!=1:
print("Ingresa alguna opcion:")
listar(menu)
x=int(input("Opcion:"))
if x==1:
insertar(lista)
elif x==2:
listar(lista)
elif x==3:
borrar(lista)
elif x==4:
actualizar(lista)
elif x==5:
ordenar(lista)
print("La lista ordenada es:")
listar(lista)
elif x==6:
contarApariciones(lista)
elif x==7:
dato=int(input("Dato que buscas:"))
pos=buscardato(lista,dato)
print("El dato{} se encuentra en la posicion {}".format(dato,pos))
elif x==8:
print("Adios")
w+=1
else:
print("Esta no es una opcin")

Ejercicio 2: Listas de cadenas

1) Crear una lista de Nombres vaca


2) Implementar cada una de las acciones del men sobre la lista de cadena
a. Agregar elementos a la lista
Pedir al usuario el nmero de elementos a capturar en la lista
Usar append(x) para agregar al final de la lista el nuevo dato.
Regresar la lista modificada

b. Listar los elementos de la lista


c. Ordenar los elementos .
Usar lista.sort()
d. Obtener la posicin del elemento x.
Usar lista.index(x)
e. Obtener el nmero de ocurrencias de un elemento.
Usar lista.count(x)
f. Borrar un elemento.
Usar lista.remove(x)
g. Actualizar el valor de un elemento:
Buscar la posicin del dato a actualizar
y modificar el elemento
SOLUCION
#solo cambia la funcin para ordenar los datos.
menu=("Inserar Dato","Listar Dato","Borrar","Actualizar","Ordenar",\
"numero de apara1ciones","buscar","Salir")
lista=[]
def insertar(datos):
x=int(input("Cuntos datos quieres insertar:"))
while x>0:
b=input("Ingresa nuevo dato:")
datos.append(b)
x-=1
def listar(datos):
a=len(datos)
b=0
while b<a:
print(b+1,")",datos[b])
b+=1

def borrar(datos):
x=(input("Ingresa el dato que quieres borrar:"))
datos.remove(x)

def actualizar(datos):
x=input("Ingresa el dato que quieres actualizar:")
c=buscardato(datos,x)
a=input("Por que dato lo quieres actualizar:")
datos[c]=a
print("El dato {} ha sido actualizado por {}".format(x,datos[c]))

def buscardato(datos,dato):
pos=datos.index(dato)
return pos
def ordenar(datos):
datos.sort()

def contarApariciones(datos):
x=(input("Ingresa el dato que ests buscando:"))
cont=0
for dato in datos:
if dato==x:
cont+=1
if cont>1:
print("Aparece",cont,"veces el dato'{}'".format(x))
elif cont==1:
print("El dato {} aparece una vez".format(x))
else:
print("El dato {} no aparece ni una vez".format(x))

w=0
while w!=1:
print("Ingresa alguna opcion:")
listar(menu)
x=int(input("Opcion:"))
if x==1:
insertar(lista)
elif x==2:
listar(lista)
elif x==3:
borrar(lista)
elif x==4:
actualizar(lista)
elif x==5:
ordenar(lista)
print("La lista ordenada es:")
listar(lista)
elif x==6:
contarApariciones(lista)
elif x==7:
dato=(input("Dato que buscas:"))
pos=buscardato(lista,dato)
print("El dato {} se encuentra en la posicion {}".format(dato,pos))
elif x==8:
print("Adios")
w+=1
else:
print("Esta no es una opcin")
Ejercicio Extra para reafirmar conocimiento
Ejercicico3: Diccionarios de Contactos

1) Crear un diccionario de contactos vaco


2) Implementar cada una de las acciones del men sobre un diccionario de
contactos
a. Agregar elementos al diccionario
b. Listar los elementos de un diccionario
c. Ordenar los elementos.
d. Obtener la posicin del elemento x.
e. Obtener el nmero de ocurrencias de un elemento.
f. Borrar un elemento.
g. Actualizar el valor de un elemento:

o me sali.

Reflexin del alumno

Python es de tremenda utilidad para manejar listas, ya que te ahorra


cmuchsimo cdigo con sus funciones ya prestablecidas.

Evaluacin:

Porcent Proceso Puntuacin TIEMPO


aje obtenida
30% Ejercicio 1 100 MINUTOS
60% Ejercicio 2
Inciso a
Inciso b
Inciso c
Inciso d
Inciso e
Inciso f
Inciso g

10% Reflexin 10 MINUTOS


100% TOTAL 1 HORA 50
MINUTOS

You might also like