checoschnaider

Untitled

Dec 4th, 2012
45
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.99 KB | None | 0 0
  1. #! /usr/bin/python
  2. # -*- coding: utf-8 -*-
  3. """2. (5 puntos) Analice el archivo almacenes.py y diga:
  4. 1. ¿Qué hace cada método?
  5. 2. ¿Cuáles son las variables y métodos estáticos?
  6. 3. Comente el código."""
  7.  
  8. #variables: capacidad, capacidad_max, nombre, maxima, volumen
  9. #variables globales: capacidad y capacidad_max
  10. #metodos estaticos: lleno
  11.  
  12.  
  13. class Almacen():
  14.     capacidad = 0
  15.     capacidad_max = 0
  16. """__init__ tiene de entrada el objeto, el nombre el almacen y capacidad máxima
  17.  
  18.            crea un almacen nuevo con capacidad inicial cero
  19.            y capacidad máxima "x" """
  20.  
  21.  
  22.     def __init__(self, nombre, maxima):
  23.         self.capacidad = 0
  24.         self.capacidad_max = maxima
  25.         print "Almacén %s creado. Capacidad máxima %.2f" % (nombre, maxima)
  26.         Almacen.capacidad_max += maxima
  27.  
  28. """entra_grano   tiene de entrada el objeto y el volumen que entrará
  29.        se realizan sumas para saber el volumen total
  30.        despues checa si es posible agregar más volumen o si está lleno
  31.        si sí, entonces lo suma, si no entonces te dice el cupo que pudo sumar
  32.        
  33. """
  34.  
  35.  
  36.  
  37.     def entra_grano(self, volumen):
  38.         volumen = float(volumen)
  39.         volumen_total = self.capacidad + volumen
  40.         if self.capacidad_max < volumen_total:
  41.             Almacen.capacidad += (self.capacidad_max - self.capacidad)
  42.             self.capacidad = self.capacidad_max
  43.             excedente = volumen_total - self.capacidad_max
  44.             cupo = volumen - excedente
  45.             print "Este almacen pudo recibir %.2f." % cupo
  46.             Almacen.lleno(excedente)#nos dice el excedente de la entrada
  47.         else:
  48.             self.capacidad += volumen
  49.             Almacen.capacidad += volumen #todo cool si pudo agregar grano
  50.             print "OK"
  51.  
  52.  
  53. """ lleno     en caso de que el almacen esté lleno
  54.              da el sobrante de grano que le pide acomodar en otro almacen
  55.              si todos los almacenes están llenos, pide que se deberán almacenar
  56.              en otra empresa"""
  57.  
  58.  
  59.     def lleno(volumen):
  60.  
  61.         volumen_total = Almacen.capacidad + float(volumen)
  62.         if Almacen.capacidad_max >= volumen_total:
  63.             print "Sobran %.2f unidades. Busque otro almacen." % volumen
  64.         else:
  65.             cupo = Almacen.capacidad_max - Almacen.capacidad
  66.             print "Nuestros otros almacenes pueden recibir hasta %.2f." % cupo
  67.             print "El resto deberá ser almacenado por otra empresa."
  68.     lleno = staticmethod(lleno)
  69.  
  70. bodega1 = Almacen("Centro", 2500)
  71. bodega2 = Almacen("Norte", 1500)
  72. bodega3 = Almacen("Sur", 2000)
  73.  
  74. print "Enviando 2000 a Almacen Centro..."
  75. bodega1.entra_grano(2000)
  76. print "Enviando 1000 a Almacen Sur..."
  77. bodega3.entra_grano(1000)
  78. print "Enviando 1300 a Almacen Norte..."
  79. bodega2.entra_grano(1300)
  80. print "Enviando 800 a Almacen Centro..."
  81. bodega1.entra_grano(800)
  82. print "Enviando 300 a Almacen Sur..."
  83. bodega3.entra_grano(300)
  84. print "Enviando 1000 a Almacen Norte..."
  85. bodega2.entra_grano(1000)
Advertisement
Add Comment
Please, Sign In to add comment