示例#1
0
 def problema_papel(self):
     '''
     Probabilidad de problema con el papel de 20%
     '''
     print(f"{self.name}: Tengo un problema con el papel")
     with self.berlin:
         reloj(10)
示例#2
0
 def problema_papel(self):
     '''
     Probabilidad de problema con el papel de 20%
     '''
     with self.berlin:
         print(f'Berlin solucionando problema de {self.nombre}:')
         reloj(10)
         print('Berlin: problema solucionado!')
示例#3
0
 def problema_picota(self):
     '''
     Probabilida de problema con la picota de 10%
     Se llama a berlin para resolverlo
     '''
     print(f"{self.name}: Tengo un problema con la picota")
     with self.berlin:
         reloj(5)
示例#4
0
 def problema_papel(self):
     '''
     Probabilidad de problema con el papel de 20%
     '''
     self.berlin.acquire()
     print('{}: Oh no! Tenemos un problema con el papel!'.format(self.nombre))
     print('Berlin solucionando problema de {}'.format(self.nombre))
     reloj(10)
     self.berlin.release()
示例#5
0
 def run(self):
     '''
     Funcionalidad de Imprimidor que imprime dinero cada 5 minutos, cada
     iteración chequea si se cumple que hay problema con el dinero (20%)
     '''
     while not self.bolsa_dinero.dinero_listo.is_set():
         reloj(5)
         listo = self.imprimir_dinero(random.randint(100000, 500000))
         self.problema_papel()
示例#6
0
 def problema_picota(self):
     '''
     Probabilida de problema con la picota de 10%
     Se llama a berlin para resolverlo
     '''
     with self.berlin:
         print(f'Berlin solucionando problema de {self.nombre}')
         reloj(5)
         print('Berlin: Problema solucionado!')
示例#7
0
 def run(self):
     '''
     Funcionalidad de Excavador que crea x metros de túnel cada 10 min,
     cada iteración chequea si se cumple que hay problema con la picota (10%)
     '''
     while not self.tunel.tunel_listo.is_set():
         reloj(10)
         self.avanzar(random.randint(50, 100))
         self.problema_picota()
示例#8
0
 def problema_papel(self):
     '''
     Probabilidad de problema con el papel de 20%
     '''
     if random.random() <= 0.20:
         self.berlin.acquire()
         print(f"{self.name}: problema con papel!")
         reloj(10)
         print(f"{self.name}: problema solucionado!")
         self.berlin.release()
示例#9
0
 def problema_picota(self):
     '''
     Probabilida de problema con la picota de 10%
     Se llama a berlin para resolverlo
     '''
     print('{0}: Oh no! Tenemos un problema con la picota!'.format(self.nombre))
     
     self.berlin.acquire()
     print('Berlin solucionando problema de {}'.format(self.nombre))
     reloj(5)
     self.berlin.release()
示例#10
0
 def problema_picota(self):
     '''
     Probabilidad de problema con la picota de 10%
     Se llama a berlin para resolverlo
     '''
     if random.random() <= 0.10:
         self.berlin.acquire()
         print(f"{self.name}: problema con picota!")
         reloj(5)
         print(f"{self.name}: problema solucionado!")
         self.berlin.release()
示例#11
0
 def run(self):
     '''
     Funcionalidad de iMPRIMIDOR que imprime dinero cada 5 minutos, cada
     iteracion chequea si se cumple que hay problema con el dinero (20%)
     '''
     while True:
         dinero = random.randint(100000, 500000)
         self.imprimir_dinero(dinero)
         problema = random.uniform(0, 1)
         if problema <= 0.2:
             self.problema_papel()
         reloj(5)
示例#12
0
 def run(self):
     '''
     Funcionalidad de iMPRIMIDOR que imprime dinero cada 5 minutos, cada
     iteracion chequea si se cumple que hay problema con el dinero (20%)
     '''
     while self.bolsa_dinero.dinero_acumulado < self.bolsa_dinero.meta_dinero:
         self.imprimir_dinero(random.randint(100000, 500000))
         reloj(10)
         if random.uniform(0, 1) <= 0.2:
             self.problema_papel()
         if self.bolsa_dinero.dinero_acumulado >= self.bolsa_dinero.meta_dinero:
             self.bolsa_dinero.dinero_listo.set()
示例#13
0
    def run(self):
        '''
        Funcionalidad de Excavador que crea x metros de tunel cada 10 min,
        cada iteracion chequea si se cumple que hay problema con la picota (10%)
        '''
        while self.tunel.metros_avanzados < self.tunel.largo:
            metros = random.randint(50, 100)
            self.avanzar(metros)
            problema = random.uniform(0, 1)
            if problema <= 0.1:
                self.problema_picota()

            reloj(10)
示例#14
0
    def run(self):
        '''
        Funcionalidad de Excavador que crea x metros de tunel cada 10 min,
        cada iteracion chequea si se cumple que hay problema con la picota (10%)
        '''
        while self.tunel.metros_avanzados < self.tunel.largo:
            reloj(10)
            # Metros que avanza el thread
            self.avanzar(randint(50, 100))

            prob_picota = uniform(0, 1)
            if prob_picota < 0.1:
                print(f"{self.nombre}: Oh no! Se ha roto la picota")
                self.problema_picota()
示例#15
0
 def run(self):
     '''
     Funcionalidad de iMPRIMIDOR que imprime dinero cada 5 minutos, cada
     iteracion chequea si se cumple que hay problema con el dinero (20%)
     '''
     while True:
         reloj(10)
         self.imprimir_dinero(randint(100000, 500000))
         prob_papel = uniform(0, 1)
         if prob_papel < 0.2:
             print(
                 f"{self.nombre}: Oh no! Ha habido un problema con el papel"
             )
             # Llama al problema de papel
             self.problema_papel()