Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - kerith

#11
Scripting / Re: [Python]Tablas de Multiplicar
6 Enero 2011, 11:36 AM
Porque sino estará empezando el bucle con y = 11 (o el valor que sea que tuviera al acabar el bucle), por lo tanto cumple la condición del segundo bucle ('y' no es menor que 11) y el segundo while no se inicia.
#12
Cita de: Sagrini en  5 Enero 2011, 17:45 PM
jaja +1 muy bueno lo has hecho tu?

No, no lo he hecho yo, pero me pareció gracioso.

Me alegro de que les guste.
#13
Si hubieran programado la GUI probablemente sería así:
[youtube=425,350]http://www.youtube.com/watch?v=K9GD4ehJ25o&feature=related[/youtube]
#14
Buenas, gracias a los dos por responder.

Vamos por partes:

Respecto a lo de cambiar la listas en función  los operadores, tengo dos formas de hacerlo:
- La primera es, en main(), una vez recogida la lista de coeficientes, crear otra lista con los coeficientes cambiados y así tener dos listas distintas en otras funciones.
- La segunda es convertir directamente los coeficientes según los vaya recogiendo y luego, en otras funciones, pasarle a cada uno la función abs(). Mi pregunta es, cuál consumiría más memoria?

Lo siguiente:
Cita de: braulio-- en  5 Enero 2011, 01:04 AM
¿Era esa la única duda que tenías sobre el planteamiento del programa?

No, por supuesto que no:), pero creo que el resto de problemas debería resolverlos yo mismo, sino no aprenderé:).

La respuesta de Leo Gutiérrez:
Cita de: Leo Gutiérrez. en  5 Enero 2011, 01:22 AM
Yo lo veo como si tratara de implementar un evaluador de expresiones.
Parece interesante, y no solamente para este programa, me pondré a buscar info al respecto. Conoces alguna buena página que trate sobre el tema?

Muchas gracias a los dos por responder.

salu2, kerith.
#15
Si, pero necesito la lista de coeficientes limpia para utilizarla en otras funciones.
#16
Scripting / [Pyhon] Problema con operadores
4 Enero 2011, 23:07 PM
Buenas, vengo a consultarles sobre un problema que me ha surgido y no se como solucionar.

El caso es que estoy desarrollando una aplicación para que factorize polinomios, y necesito alguna forma de manejar los operadores entre monomios.

Necesito que la función main() recoja un numero variable de operadores en una lista y que luego opere con los coeficientes de los monomios (que están en otra lista).

Por ahora se me ha ocurrido que podría recoger cada operador en un booleano (true para + y false para -, por ejemplo), hacer una lista y mandarlos a la función. Luego, con sentencias de control, invertir cada coeficiente en función del booleano que toque.
Así, por ejemplo, si tenemos los coeficientes [2, 3, 4] y la lista de booleanos [true, false], habría que convertir los coeficientes en [2, 3, -4], y luego sumarlos.

No creo que me haya explicado bien, pero bueno :D.

¿Voy por el buen camino?

Igual es pedir demasiado, pero la verdad es que ando hecho un lío y no estoy seguro de ir por el camino correcto.

Como siempre, gracias de antemano
salu2, kerith
#17
Citarkerith, eso se llama función recursiva.
Gracias, pablomi.

Bueno, aquí va mi código. Utiliza un contador y un bucle while, pero esque no conocía la función range().

Código (python) [Seleccionar]
def ElevarPotencia(numero, exponente):
   num_base = numero
   contador = 0
   if exponente != 0:
       while contador < exponente:
           numero *= num_base
           contador +=  1
   else:
       numero = 1
   return numero

La verdad es que he aprendido mucho con este post.

Gracias a los dos.

salu2, kerith
#18
Yo creía que no se podía hacer en menos líneas que pablomi, pero veo que si.

.:WindHack:., tu solución (supongo que lo sabías) se peude comprimir en 3 líneas:
Código (python) [Seleccionar]
def pPow(bBase,eExp):
if eExp <= 0:return 1
return bBase * pPow(bBase,eExp-1)


Serías tan amable de explicármelo? Sé que funciona, pero soy un poco noob y no termino de entenderlo.

Me gustan mucho las dos soluciones, luego pondré la mía, pero me da un poco de vergüenza, ocupa 10 líneas.

Cuanto me queda por aprender...

salu2, kerith
#19
Tu solución tiene un fallo:

Si el exponente es 0, el resultado es 1 siempre, y en tu script no ce cumple.
Aún así, creo que con un 'if' para controlar lo del exponente lo solucionarías, y que es es una solución muy elegante y comprimida.

salu2, kerith
#20
Buenas, he estado trasteando un poco con Python y me han entrado ganas de ver si era capaz de programar otra vez un algoritmo que tenía para elevar un número a una de sus potencias (es totalmente inútil, lo sé, pero es un reto al fin y al cabo).

El caso es que me gustaría proponeros un reto muy sencillo:
Código (python) [Seleccionar]
import sys

def main():
    numero = int(raw_input('Numero: '))
    potencia = int(raw_input('Potencia: '))
# A partir de aqui es prescindible
    resultado = ElevarPotencia(numero, potencia)
    print resultado
# Hasta aqui ^

if __name__ == '__main__':
    main()


A partir de esto, programad la función ElevarPotencia que, como su propio nombre indica, tiene que elevar el número 'numero' a la potencia 'potencia' (a mi me han salido 10 líneas, contando la de 'def' y la de 'return').

Este es un ejercicio hecho por y para novatos, así que absténganse los 'Está tirado' y comentarios por el estilo, por favor