{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Ejemplo de implementación con Programación Estructurada"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"clientes= [\n",
" {'Nombre': 'Hector', 'Apellidos':'Costa Guzman', 'dni':'11111111A'},\n",
" {'Nombre': 'Juan', 'Apellidos':'González Márquez', 'dni':'22222222B'} \n",
"]"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"[{'Apellidos': 'Costa Guzman', 'Nombre': 'Hector', 'dni': '11111111A'},\n",
" {'Apellidos': 'González Márquez', 'Nombre': 'Juan', 'dni': '22222222B'}]"
]
},
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"clientes"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"def mostrar_cliente(clientes, dni):\n",
" for c in clientes:\n",
" if (dni == c['dni']):\n",
" print('{} {}'.format(c['Nombre'],c['Apellidos']))\n",
" return\n",
" \n",
" print('Cliente no encontrado')"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Hector Costa Guzman\n"
]
}
],
"source": [
"mostrar_cliente(clientes, '11111111A')"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Cliente no encontrado\n"
]
}
],
"source": [
"mostrar_cliente(clientes, '11111111Z')"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"def borrar_cliente(clientes, dni):\n",
" for i,c in enumerate(clientes):\n",
" if (dni == c['dni']):\n",
" del( clientes[i] )\n",
" print(str(c),\"> BORRADO\")\n",
" return\n",
" \n",
" print('Cliente no encontrado')"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Cliente no encontrado\n"
]
}
],
"source": [
"borrar_cliente(clientes, '22222222V')"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'Apellidos': 'González Márquez', 'Nombre': 'Juan', 'dni': '22222222B'} > BORRADO\n"
]
}
],
"source": [
"borrar_cliente(clientes, '22222222B')"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"[{'Apellidos': 'Costa Guzman', 'Nombre': 'Hector', 'dni': '11111111A'}]"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"clientes"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"
\n",
"## Espacio en blanco a propósito\n",
"
"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Ejemplo de implementación con Programación Orientada a Objetos \n",
"No hace falta entender el código, lo aprenderemos en esta unidad."
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"class Cliente:\n",
" \n",
" def __init__(self, dni, nombre, apellidos):\n",
" self.dni = dni\n",
" self.nombre = nombre\n",
" self.apellidos = apellidos\n",
" \n",
" def __str__(self):\n",
" return '{} {}'.format(self.nombre,self.apellidos)\n",
" \n",
"\n",
"class Empresa:\n",
" \n",
" def __init__(self, clientes=[]):\n",
" self.clientes = clientes\n",
" \n",
" def mostrar_cliente(self, dni=None):\n",
" for c in self.clientes:\n",
" if c.dni == dni:\n",
" print(c)\n",
" return\n",
" print(\"Cliente no encontrado\")\n",
" \n",
" def borrar_cliente(self, dni=None):\n",
" for i,c in enumerate(self.clientes):\n",
" if c.dni == dni:\n",
" del(self.clientes[i])\n",
" print(str(c),\"> BORRADO\")\n",
" return\n",
" print(\"Cliente no encontrado\")"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"hector = Cliente(nombre=\"Hector\", apellidos=\"Costa Guzman\", dni=\"11111111A\")"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"<__main__.Cliente at 0x4b97150>"
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"hector"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"juan = Cliente(\"22222222B\", \"Juan\", \"Gonzalez Marquez\")"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"empresa = Empresa(clientes=[hector, juan])"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"[<__main__.Cliente at 0x4b97150>, <__main__.Cliente at 0x4b97890>]"
]
},
"execution_count": 15,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"empresa.clientes"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Hector Costa Guzman\n"
]
}
],
"source": [
"empresa.mostrar_cliente(\"11111111A\")"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Juan Gonzalez Marquez > BORRADO\n"
]
}
],
"source": [
"empresa.borrar_cliente(\"22222222B\")"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"[<__main__.Cliente at 0x4b97150>]"
]
},
"execution_count": 18,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"empresa.clientes"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.5.1"
}
},
"nbformat": 4,
"nbformat_minor": 0
}