{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "\"\"\" Ejemplo de implementación con Programación Estructurada \"\"\"\n",
    "\n",
    "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": null,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "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": null,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "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": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  },
  {
   "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": [
    "<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />\n",
    "## Espacio en blanco a propósito\n",
    "<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "\"\"\" Ejemplo de implementación con Programación Orientada a Objetos \n",
    "    No hace falta entender el código, lo aprenderemos en esta unidad \"\"\"\n",
    "\n",
    "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": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  }
 ],
 "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
}
