Mi primer modulo para Phyton

Iniciado por Santi__, 3 Febrero 2016, 02:50 AM

0 Miembros y 1 Visitante están viendo este tema.

Santi__

Hoola! Como andan? Me registre en el foro para apreneder y sacarme dudas con gente experimentada y buena que me ayudara :D Resulta que hace poco empeze con esto de la programacion y estoy aprendiendo un lenguaje llamado Phyton (si, se que todos lo conocen, no, no soy un idiota) y recien termine mi primer modulo para el interprete de Phyton  ;-) Se trata de un conversor metrico y me gustaria que ustedes lo descargaran para ver si esta bien, mal, que le puedo poner para hacerlo mejor, etc  :P Tenganme compasion que es mi primer modulo y empeze hace poquito  :¬¬ El conversor convierte lo siguiente :


  • Grados Fahrenheit a Celsius
  • Millas a Kilometros
  • Dias a Segundos
  • Acres a Hectareas
  • Galones a Litros

Se que es poquita cosa, pero es mi primer modulo y no queria hacer la gran cosa, diganme si algo esta mal o como lo puedo mejorar :D Gracias!!
En fin, aca esta el link para que descarguen el archivito:
http://www.mediafire.com/download/e13sroxgu0xo3t1/Convertidor+metrico.py

PD: No se que le falta al tema, si esta mal porfavor no me lo eliminen, diganme que le falta o que cosa no esta bien asi lo arreglo :)
El conocimiento es poder. Y este solo se obtiene mediante la experiencia. No hay otra forma.

crack81

#1
Un detalle en vez de que imprima el valor las funciones deberian en lo posible retornar el valor ya que asilas su funcionalidad en lo personal si uso alguna de tu funcion de nada me sirve que me imprima un valor por consola yo lo que necesito es solo el valor

Ejemplo:

remplaza esto
Código (python) [Seleccionar]
return print (millas, "millas son exactamente", kilometros,"kilometros.")

por esto

Código (python) [Seleccionar]
return kilometros


saludos,,
Si C/C++ es el padre de los lenguajes entonces ASM es dios.

sodark

#2
Como dice el compañero, una librería normalmente realiza los cálculos y las operaciones. Es el programador quien decide en su programa si ha de pintar el retorno que le ha enviado esa librería.

Por último recomendarte que te hagas un github donde subir el código, es gratuito y la gente puede colaborar mejorando cosas de tu librería (añadir nuevas funcionalidades, mejorar el código, arreglar errores...) aunque la última palabra de aceptar esas mejoras la tienes tu.

Por ejemplo: https://github.com/guillerg86

Aquí tengo alguna cosilla de programación concurrente/distribuida con Java.

Yo actualmente estoy comenzando con Python y un ejemplo tonto que he hecho es realizar una funcion que te extraiga los N primeros numeros de la serie de Fibonacci

Código (python) [Seleccionar]
def getFibonacciArray(integerDesiredSize):
    fibArray = [];
    num1=0;
    num2=1;
    for i in range(integerDesiredSize):
        if i == 0:
            fibArray.append(0);
        elif i == 1:
            fibArray.append(1);
        else:
            # Get new number
            resultado = num1+num2;
            # Upate values
            num1=num2; num2=resultado;
            # Print new result
            fibArray.append(resultado);
    return fibArray;


if __name__ == '__main__':
    fibArray = getFibonacciArray(20);
    arraLen = len(fibArray);
    for i in range(arraLen):
        print fibArray[i],


Como puedes ver, la función retorna un array, y es la función main la que decide que hace con ello.

Santi__

Cita de: crack81 en  3 Febrero 2016, 04:56 AM
Un detalle en vez de que imprima el valor las funciones deberian en lo posible retornar el valor ya que asilas su funcionalidad en lo personal si uso alguna de tu funcion de nada me sirve que me imprima un valor por consola yo lo que necesito es solo el valor

Ejemplo:

remplaza esto
Código (python) [Seleccionar]
return print (millas, "millas son exactamente", kilometros,"kilometros.")

por esto

Código (python) [Seleccionar]
return kilometros


saludos,,


- Entonces, solo me quedo una duda. Es a gusto de cada quien lo de poner un return cono solo un valor o un return que devuelva una frase impresa con el valor? Espero tu respuesta :) Un saludo y gracias por responder a los dos  ;D
El conocimiento es poder. Y este solo se obtiene mediante la experiencia. No hay otra forma.

sodark

Que hace la función? Convertir de millas a km, por lo tanto se entiende que lo que devuelve es el resultado.

Lo ideal y usable para gente que la quiera utilizar es que devuelva el valor. Piensa que quien la llama ya sabe que millas le pasa por lo que después puede reconstruir la frase.

Además si su idioma no es castellano? Ha de editar la librería? Y si actualizas la librería y añades mas funcionalidades, bajarla de nuevo y volver a traducirla.

La función ha de solucionar el problema y devolver el valor, lo demás sera el programador quien lo haga.

Santi__

Cita de: sodark en  3 Febrero 2016, 16:25 PM
Que hace la función? Convertir de millas a km, por lo tanto se entiende que lo que devuelve es el resultado.

Lo ideal y usable para gente que la quiera utilizar es que devuelva el valor. Piensa que quien la llama ya sabe que millas le pasa por lo que después puede reconstruir la frase.

Además si su idioma no es castellano? Ha de editar la librería? Y si actualizas la librería y añades mas funcionalidades, bajarla de nuevo y volver a traducirla.

La función ha de solucionar el problema y devolver el valor, lo demás sera el programador quien lo haga.

Jaaaaa tienes razon  :xD No lo habia pensado de esa manera, gracias por la ayuda!  :rolleyes:
El conocimiento es poder. Y este solo se obtiene mediante la experiencia. No hay otra forma.