Título: [Python][Ejercicio (por y para novatos)] Función para elevar potencia Publicado por: kerith en 1 Enero 2011, 21:51 pm 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
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 Título: Re: [Python][Ejercicio (por y para novatos)] Función para elevar potencia Publicado por: xassiz~ en 1 Enero 2011, 22:26 pm Bueno, aquí mi versión:
Código
Título: Re: [Python][Ejercicio (por y para novatos)] Función para elevar potencia Publicado por: kerith en 1 Enero 2011, 23:10 pm 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 Título: Re: [Python][Ejercicio (por y para novatos)] Función para elevar potencia Publicado por: xassiz~ en 1 Enero 2011, 23:19 pm Código ;D Título: Re: [Python][Ejercicio (por y para novatos)] Función para elevar potencia Publicado por: .:WindHack:. en 2 Enero 2011, 02:07 am Código
Título: Re: [Python][Ejercicio (por y para novatos)] Función para elevar potencia Publicado por: kerith en 2 Enero 2011, 13:15 pm 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
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 Título: Re: [Python][Ejercicio (por y para novatos)] Función para elevar potencia Publicado por: xassiz~ en 2 Enero 2011, 13:17 pm Buena esa Windhack ^^
kerith, eso se llama función recursiva (http://es.wikipedia.org/wiki/Algoritmo_recursivo). Título: Re: [Python][Ejercicio (por y para novatos)] Función para elevar potencia Publicado por: kerith en 2 Enero 2011, 14:10 pm Citar kerith, 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 La verdad es que he aprendido mucho con este post. Gracias a los dos. salu2, kerith |