¿necesito un generador?
los generadores eléctricos se utilizan como fuente de energía adicional o de respaldo y se pueden usar personal o profesionalmente.  
los dos usos más populares para un generador son:

**poder de emergencia:** durante un desastre natural o algún otro problema generalizado, se cortará la electricidad y ya no podrás alimentar tu hogar. la mayoría de las personas optan por comprar un generador portátil para usarlo como fuente de energía de respaldo durante emergencias. 

se pueden utilizar para mantener tu hogar a flote, manteniendo electrodomésticos grandes como tu refrigerador encendido. también se pueden usar para mantener tu teléfono móvil y otra tecnología alimentada para que permanezca conectado y seguro.

**de viaje:** mucha gente busca comprar un generador para llevar con ellos en sus viajes de campamento. aunque este tipo de vacaciones se ven favorecidas ya que obligan a las familias a alejarse de sus pantallas y salir al aire libre, hay algunas partes de la vida moderna que no podemos prescindir. 

los generadores portátiles pueden permitirle cargar tu teléfono, fuentes de entretenimiento eléctrico o incluso usarse para alimentar calentadores para mantenerte seguro y cómodo cuando estás en la carretera.
<p>para comprender lo que hace <code>yield</code>, debe comprender qué <em>generadores</em> son. y antes de que lleguen los generadores <em>iterables</em>.</p><h2>iterables</h2><p>cuando creas una lista, puedes leer sus artículos uno por uno. la lectura de sus elementos uno por uno se llama iteración:</p><pre><code>&gt;&gt;&gt; mylist = [1, 2, 3] &gt;&gt;&gt; for i in mylist: ... print(i) 1 2 3 </code></pre><p><code>mylist</code> es un <em>iterable</em>. cuando usas una comprensión de lista, creas una lista, y por lo tanto una iterable:</p><pre><code>&gt;&gt;&gt; mylist = [x*x for x in range(3)] &gt;&gt;&gt; for i in mylist: ... print(i) 0 1 4 </code></pre><p>todo lo que puede usar &quot;<code>for... in...</code>&quot; en es iterable; <code>lists</code>, <code>strings</code>, archivos ...</p><p>estos iterables son útiles porque puede leerlos tanto como desee, pero almacena todos los valores en la memoria y esto no siempre es lo que desea cuando tiene muchos valores.</p><h2>generadores</h2><p>los generadores son iteradores, una clase de iterable<strong> solo puedes iterar una vez </strong>. los generadores no almacenan todos los valores en la memoria,<strong> generan los valores sobre la marcha </strong>:</p><pre><code>&gt;&gt;&gt; mygenerator = (x*x for x in range(3)) &gt;&gt;&gt; for i in mygenerator: ... print(i) 0 1 4 </code></pre><p>es igual, excepto que usaste <code>()</code> en lugar de <code>[]</code>. pero, usted<strong> no puede </strong>realizar <code>for i in mygenerator</code> por segunda vez, ya que los generadores solo se pueden usar una vez: calculan 0, luego se olvidan y calculan 1, y terminan de calcular 4, uno por uno.</p><h2>rendimiento</h2><p><code>yield</code> es una palabra clave que se usa como <code>return</code>, excepto que la función devolverá un generador.</p><pre><code>&gt;&gt;&gt; def creategenerator(): ... mylist = range(3) ... for i in mylist: ... yield i*i ... &gt;&gt;&gt; mygenerator = creategenerator() # create a generator &gt;&gt;&gt; print(mygenerator) # mygenerator is an object! &lt;generator object creategenerator at 0xb7555c34&gt; &gt;&gt;&gt; for i in mygenerator: ... print(i) 0 1 4 </code></pre><p>este es un ejemplo inútil, pero es útil cuando sabes que tu función devolverá un gran conjunto de valores que solo necesitarás leer una vez.</p><p>para dominar <code>yield</code>, debe comprender que<strong> cuando llama a la función, el código que ha escrito en el cuerpo de la función no se ejecuta. </strong>la función solo devuelve el objeto generador, esto es un poco complicado :-)</p><p>luego, su código continuará desde donde lo dejó cada vez que <code>for</code> usa el generador.</p><p>ahora la parte difícil:</p><p>la primera vez que <code>for</code> llama al objeto generador creado desde su función, ejecutará el código en su función desde el principio hasta que llegue a <code>yield</code>, luego devolverá el primer valor del bucle. luego, cada una de las otras llamadas ejecutará el bucle que ha escrito en la función una vez más y devolverá el siguiente valor, hasta que no haya ningún valor para devolver.</p><p>el generador se considera vacío una vez que se ejecuta la función, pero ya no golpea <code>yield</code>. puede ser porque el bucle llegó a su fin, o porque ya no satisfaces un <code>"if/else"</code>.</p><hr><h2>tu codigo explicado</h2><p>generador:</p><pre><code># here you create the method of the node object that will return the generator def \_get\_child\_candidates(self, distance, min\_dist, max\_dist): # here is the code that will be called each time you use the generator object: # if there is still a child of the node object on its left # and if distance is ok, return the next child if self.\_leftchild and distance - max\_dist &lt; self.\_median: yield self.\_leftchild # if there is still a child of the node object on its right # and if distance is ok, return the next child if self.\_rightchild and distance + max\_dist &gt;= self.\_median: yield self.\_rightchild # if the function arrives here, the generator will be considered empty # there is no more than two values: the left and the right children </code></pre><p>llamador:</p><pre><code># create an empty list and a list with the current object reference result, candidates = list(), [self] # loop on candidates (they contain only one element at the beginning) while candidates: # get the last candidate and remove it from the list node = candidates.pop() # get the distance between obj and the candidate distance = node.\_get\_dist(obj) # if distance is ok, then you can fill the result if distance &lt;= max\_dist and distance &gt;= min\_dist: result.extend(node.\_values) # add the children of the candidate in the candidates list # so the loop will keep running until it will have looked # at all the children of the children of the children, etc. of the candidate candidates.extend(node.\_get\_child\_candidates(distance, min\_dist, max\_dist)) return result </code></pre><p>este código contiene varias partes inteligentes:</p><ul> <li><p>el bucle se repite en una lista, pero la lista se expande mientras se repite el bucle :-) es una forma concisa de revisar todos estos datos anidados, aunque sea un poco peligroso, ya que puede terminar con un bucle infinito. en este caso, <code>candidates.extend(node.\_get\_child\_candidates(distance, min\_dist, max\_dist))</code> agota todos los valores del generador, pero <code>while</code> sigue creando nuevos objetos generadores que producirán valores diferentes de los anteriores ya que no se aplica en el mismo nodo.</p></li> <li><p>el método <code>extend()</code> es un método de objeto de lista que espera un iterable y agrega sus valores a la lista.</p></li> </ul><p>usualmente le pasamos una lista:</p><pre><code>&gt;&gt;&gt; a = [1, 2] &gt;&gt;&gt; b = [3, 4] &gt;&gt;&gt; a.extend(b) &gt;&gt;&gt; print(a) [1, 2, 3, 4] </code></pre><p>pero en tu código recibe un generador, lo cual es bueno porque:</p><ol> <li>no necesitas leer los valores dos veces.</li> <li>es posible que tenga muchos hijos y no quiera que todos se almacenen en la memoria.</li> </ol><p>y funciona porque a python no le importa si el argumento de un método es una lista o no. python espera iterables por lo que trabajará con cadenas, listas, tuplas y generadores. esto se llama tipificación de pato y es una de las razones por las que python es tan genial. pero esta es otra historia, para otra pregunta ...</p><p>puede detenerse aquí, o leer un poco para ver un uso avanzado de un generador:</p><h2>controlando el agotamiento de un generador.</h2><pre><code>&gt;&gt;&gt; class bank(): # let's create a bank, building atms ... crisis = false ... def create\_atm(self): ... while not self.crisis: ... yield "$100" &gt;&gt;&gt; hsbc = bank() # when everything's ok the atm gives you as much as you want &gt;&gt;&gt; corner\_street\_atm = hsbc.create\_atm() &gt;&gt;&gt; print(corner\_street\_atm.next()) $100 &gt;&gt;&gt; print(corner\_street\_atm.next()) $100 &gt;&gt;&gt; print([corner\_street\_atm.next() for cash in range(5)]) ['$100', '$100', '$100', '$100', '$100'] &gt;&gt;&gt; hsbc.crisis = true # crisis is coming, no more money! &gt;&gt;&gt; print(corner\_street\_atm.next()) &lt;type 'exceptions.stopiteration'&gt; &gt;&gt;&gt; wall\_street\_atm = hsbc.create\_atm() # it's even true for new atms &gt;&gt;&gt; print(wall\_street\_atm.next()) &lt;type 'exceptions.stopiteration'&gt; &gt;&gt;&gt; hsbc.crisis = false # the trouble is, even post-crisis the atm remains empty &gt;&gt;&gt; print(corner\_street\_atm.next()) &lt;type 'exceptions.stopiteration'&gt; &gt;&gt;&gt; brand\_new\_atm = hsbc.create\_atm() # build a new one to get back in business &gt;&gt;&gt; for cash in brand\_new\_atm: ... print cash $100 $100 $100 $100 $100 $100 $100 $100 $100 ... </code></pre><p><strong> nota: </strong>para python 3, use<code>print(corner\_street\_atm.\_\_next\_\_())</code> o <code>print(next(corner\_street\_atm))</code></p><p>puede ser útil para varias cosas como controlar el acceso a un recurso.</p><h2>itertools, tu mejor amigo.</h2><p>el módulo de itertools contiene funciones especiales para manipular iterables. ¿alguna vez desea duplicar un generador? ¿encadenar dos generadores? ¿agrupar valores en una lista anidada con una sola línea? <code>map / zip</code> sin crear otra lista?</p><p>entonces solo <code>import itertools</code>.</p><p>¿un ejemplo? veamos las posibles órdenes de llegada para una carrera de cuatro caballos:</p><pre><code>&gt;&gt;&gt; horses = [1, 2, 3, 4] &gt;&gt;&gt; races = itertools.permutations(horses) &gt;&gt;&gt; print(races) &lt;itertools.permutations object at 0xb754f1dc&gt; &gt;&gt;&gt; print(list(itertools.permutations(horses))) [(1, 2, 3, 4), (1, 2, 4, 3), (1, 3, 2, 4), (1, 3, 4, 2), (1, 4, 2, 3), (1, 4, 3, 2), (2, 1, 3, 4), (2, 1, 4, 3), (2, 3, 1, 4), (2, 3, 4, 1), (2, 4, 1, 3), (2, 4, 3, 1), (3, 1, 2, 4), (3, 1, 4, 2), (3, 2, 1, 4), (3, 2, 4, 1), (3, 4, 1, 2), (3, 4, 2, 1), (4, 1, 2, 3), (4, 1, 3, 2), (4, 2, 1, 3), (4, 2, 3, 1), (4, 3, 1, 2), (4, 3, 2, 1)] </code></pre><h2>entendiendo los mecanismos internos de iteración.</h2><p>la iteración es un proceso que implica iterables (implementación del método <code>\_\_iter\_\_()</code>) e iteradores (implementación del método <code>\_\_next\_\_()</code>). iterables son cualquier objeto de los que puede obtener un iterador. los iteradores son objetos que le permiten iterar en iterables.</p><p>hay más información al respecto en este artículo sobre <a href="http://effbot.org/zone/python-for-statement.htm">cómo funcionan <code>for</code> loops</a> .</p> hola amigo, tal como lo mensiono el colega zeus, pues eso podrias hacer pero la verdad no creo que resulte pues los estereos de casa demandan bastante energia y el transformador terminara por quemarse o descomponerse, asi que te aconsejo de buena onda que mejor andes con una grabadora o pongas la musica en tu celular para que no corras riesgo.

saluuu2 = ) Te explico hasta donde yo entiendo. Una UPS pretente estar atenta al corte de la energía eléctrica. Para esto dispone de un microcontrolador que detecta esta falta de energía e inmediatamente actúa.  
La idea de funcionamiento es muy simple. Si un transformador de corriente alterna puede convertir 220 voltios en 12 voltios, ¿por qué no puede generarse 220 voltios partiendo de 12 voltios?  
Claro que si. El único inconveniente que tenemos es que los 12 voltios que poseemos son de corriente continua (batería).  
Entonces hay que convertir esa corriente continua en alterna y dársela al transformador, del lado de los 12 voltios.  
Finalmente del otro lado aparecen los 220 voltios y eso es todo.  
El microcontrolador se encarga de detentar la falta de 220 voltios y rápidamente se pone a oscilar generando los 12 voltios de corriente alterna.  
La frecuencia de oscilación es de 50 o 60 ciclos (depende del modelo) y la salida es de 220 voltios o 110 voltios (depende del país).  
Cuando regresa la corriente alterna, deja de oscilar y carga a la batería para la próxima vez.  
Bueno, esto es todo. Suerte. Tendras que instalar un regulador de presion para cada una de ellas. te hace falta tomar mucha agua, comer mas saludablemente, fibra, cosas con vitaminas para que tengas mejor produccion, procura eso de tener muy hidratado tu cuerpo. si tienes alguna duda escribeme te ayudare con gusto ivanrosales.ih5@gmail.com generalmente los repetidores no tienen tanta potencia, 10 watts por lo general. puedes construir uno a partir de dos radios, uno receptor en x frecuencia y uno transmisor en x frecuencia diferente de la de rx(600 khz). los radios motorola ya disponen de pines para interconectar los dor radios o puedes construir una interfase (cor) para que el radio rx active al tx. debes usar dos antenas y separarlas por lo menos 40 pies, rx arriba y tx abajo. las antenas de mas ganancia hacen mejor trabajo. pero si tambien las vas a fabricar, la jpolo funcionan bien. no olvides ubicar el repetidor con buena altura para lograr la mejor cobertura. espero haberte orientado con estor breves renglones. para cuánta tensión alterna..?? 110; 127; 220; 240v  
cuánta frecuencia...????  
  
si fuera de 110v, tendría una potencia de 1300w con un consumo en 12v de 110a.  
y si fuera de 220v, sería de 2600w, con un consumo en 12v de 220a.  
  
ningún inversor casero; fásil de construir y económico es para tanta potencia.  
  
¡debes comprarlo...!!! Para mí las mejores marcas son mitsubishi electric, fujitsu-general, daikin y luego un montón de marcas que también son buenas... dentro de ellas está panasonic.. parece que va bastante bien.  
Las frigorías necesarias no son muchas si vas a elegir un 2x1... con 2.500 frg./h en el salón y 2.000 frg./h en el pasillo de las habitaciones es suficiente. Esto no quiere decir que tengas que coger un equipo de esa potencia exactamente, ya que hay una tolerancia bastante grande.  
Si el equipo es inverter puedes cogerlo de bastante más potencia ya que él mismo se adapta a las necesidades de las estancias... y funciona en la medida que se le requiere potencia. Por ello en un 2x1 inverter no hay problema de adaptación.. aunque son más caros.  
A favor es que el inverter también te ahorra electricidad respecto a un equipo tradicional por lo que al cabo de unos años tu inversión inicial se verá amortizada en el recibo de la corriente.  
Los ionizadores o filtros electroestáticos son muy muy buenos... sus excelencias están comprobadas y pueden llegar a separar el humo del tabaco, los olores y sobre todo el polen y polvo (para los alérgicos) sin embargo hay que decir que se requiere un mantenimiento periódico de los prefiltros que no se puede dejar... de lo contrario tanto el aparato como el filtro no darán el resultado esperado y terminará estropeándose el filtro o simplemente no haciendo nada...  
La periodicidad es de tres a seis meses según el uso que se le dé.. incluso un año si el aparato no tiene una utilización intensiva... en cualquier caso es recomendable limpiar y sustituir si fuese necesario el Kit de filtros... lo cual vale un dinero (no mucho pero es un gasto..).  
El R-410 es el gas del futuro... su rendimiento es excelente (mejor que el R-407) y similar al R-22, la ventaja es que todos los aparatos en un futuro cercano se fabricarán con este gas.. por contra la desventaja es que no es un gas azeotrópico y por tanto tiene cierta complejidad técnica que le hace muy susceptible a los "chapuceros" que suelen montar A.A. por lo que es recomendable la mano del profesional (siempre).  
Lo de poner la unidad en el pasillo no suele ser problema... ya que el uso de los dormitorios es muy concreto y no suele necesitar grandes bajadas de temperatura sino más bien una confortabilidad para dormir a gusto... no es nada recomendable fisiológicamente dormir con el A.A. a tope.  
El aparato puede estar colocado en zona alta (mejor distribución del frio) y si bien su capacidad de mover el aire se ve mermada se compensa con la reducción de ruido en las habitaciones y por tanto la posibilidad de uso toda la noche.  
Además el sistema inverter es más silencioso.  
En cuanto a poner solo frio o bomba de calor no te preocupes... si no encuentras inverter solo frio (es más difícil) en la marca que te gusta pues pon la bomba tranquilamente... ya que el precio de la TERMIA o unidad de energía de referencia es muy bajo... por lo que en comparación con el gas o el gasóleo se puede afirmar que es muy similar y con un buen aparato (alto rendimiento) incluso un poco mejor... por lo que generar calor con él no te va a causar problema alguno.  
Si prevés que nunca vas a usar este modo entonces es mejor que no lo compres bomba de calor pues la electroválvula inversora que realiza el cambio puede dar algún problema... y además es algo más caro. hola necesitas cable unipolar de 2,5mm. color celeste para el neutro..color rojo para el vivo .color verde-amarillo para la puesta a tierra. y podes usar cable unipolar de 1,5mm de color marron o negro para los retornos. debes hacer dos circuitos independientes: uno para tomas corrientes , otro, para iluminacion. todo eso debera salir de una caja-tablero con disyuntor y llaves termicas bipolares de corte. suerte.. ac&aacute; te dejo una lectura interesante espero ayude. <br/><a href='http://www.tripplite.com/es/buying-guides/technology-primers/inverter-how-it-works.cfm' rel='nofollow' target='\_blank'>http://www.tripplite.com/es/buying-guides/technology-primers/inverter-how-it-works.cfm</a><br/>suerte.