Aprender a Programar: Python

microhelix

#90 Lo sé, lo sé. Pero me parece algo bastante cómodo y quería saber si hay alguna herramienta en python que me permita hacer lo mismo o algo que no diste mucho en comodidad.

1 respuesta
cabron

#91

Es que eso es algo muy específico de un framework concreto, ya que para hacerlo necesitas saber en que carpeta tienen que estar las cadenas, en que formato, etc.

Si acaso, puede que encuentres cosas en frameworks específicos, por ejemplo a lo mejor Django tiene algo por el estilo para hacer internacionalización y cosas así, pero algo así genérico lo veo difícil, Java como tal fuera de Android tampoco tiene nada que haga eso de forma genérica.

HeXaN

Para el dos de Febrero: https://www.coursera.org/course/pythonlearn

1 1 respuesta
Napier

#89 Si no recuerdo mal pyside ypyqt4 tienen eso, pero son interfaces gráficas basadas en qt para python. Si lo quieres para un script no te sirve de mucho, pero si estabas mirando para hacer algo más serio a lo mejor si puedes ir tirando por ahí

1 respuesta
microhelix

#94 No, si precisamente estoy usando PyQt4, y sé que tiene lo que busco, pero quería saber si había algún tipo de librería o algo que no estuviese vinculado a ningún framework en concreto.

1 respuesta
gAdrev

#95

https://docs.python.org/3/library/i18n.html

1
allmy

#16 Python lo utiliza gente que quiere ser productiva y no coger un cáncer con Java. Enfocarse en el producto, en desarrollar características y funciones, en lugar de enfocarse en la interoperatividad o en la eficiencia absoluta.

1 respuesta
mortadelegle

A mi siempre me ha llamado la atencion Phyton, me parece un buen lenguaje para aprender, y para prototipar, en mi universidad hay profesores que les gusta mucho, yo por ejemplo ahora mismo estoy luchando con un validador que está escrito en Phyton, así que no generalicemos con que en la Universidad todo son ancianos que no se actualizan y que odian su trabajo.

Respecto a cosas como #97 no voy a defender al tonto de turno que si Java, que si C, que si C++ (que es lo que uso yo por UE4) o que si phyton no es un lenguaje de verdad decir que cada lenguaje tiene su función, phyton está muy bien para prototipar y para hacer cosas web, pero tampoco me parece correcto decir que se te va a fundir el cerebro por usar otros o que es mas rapido para escribir todo.

Dicho todo este tochaco os dejo esto:
http://www.codingame.com/start

Son ejercicios en forma de juegos, esta disponible en un monton de lenguajes (C, C++, Java, Phyton, Bash, C#, GO, Haskell, Javascript, Pascal, PHP, Ruby y mas)

Y hay de todos los niveles, desde para los principiantes hasta para los veteranos.

1 respuesta
allmy

#98 Si yo soy el primero que defiendo el utilizar muchos lenguajes. Cada uno tiene su función, sus cosas buenas y sus cosas malas. Excepto Java, si le quitamos la interoperatividad entre sistemas, no tendría ni una cosa buena. Y bueno, mejor no nos metemos con su seguridad xD

Por cierto, ayer descubrí Selenium, y es un amor <3

1 respuesta
mortadelegle

#99 Yo no le quitaría la interoperatividad de sistemas porque es algo bastante gordo XD, ademas de eso tienes otras buenas cualidades como buen support de multithread, garbage collection, no more pointers (Reconozco que para alguien que usa C++ a diario es quitarse un peso de encima xD).

Yo ahora mismo tengo dos asignaturas en Java que prefería tener en C++, pero Java es un buen lenguaje para familiarizarte con el paradigma de la programacion orientada a objetos.

Also Android.

KooPad

Yo he aprendido a programar gracias a Python. Lo que he hecho ha sido de nivel bastante bajo, pero me siento orgulloso y con ganas de hacer la carrera.

Mirad que hice ayer!, es de la conjetura de Collatz:

spoiler
1
Fyn4r

El recolector de basura es cancer

Y

Hay algo que no entiendo, si ya sabes supongamos que phyton y te mandan hacer un crm o erp... con otro lenguaje diferente... entiendo que no hay diferencia en lo visual... solo en el codigo donde uno tendra una sintaxis diferente del otro lenguaje no ?. Si esto es asi... que sentido tiene aprender varios lenguajes si el resultado visual sera el mismo ?. :/ No seria lo mejor hacerlo con el lenguaje mas flexible que te permita hacer las cosas mas dificiles de la forma mas sencillas y mas rapido?.

1 respuesta
B

#103

La cosa es que cada lenguaje es para lo que es. Si tienes que optimizar código tirarás de C, si tienes que hacer algo para android java, algo multiplataforma C++/Java y con la liberación de C#, cualquiera de esos 3, si vas a hacer una web sin backend JS, si vas tirar a por backend depende de lo que necesites Node.js, RoR, Django (por ejemplo) o por otro lado PHP. Inteligencia artificial LISP/PROLOG/Haskell...

El caso es que cada lenguaje es mejor para una cosa, no son todos buenos para todo y menos cuando se trata de cosas como comentas, un erp, python me gusta mucho, pero desde luego, no creo que sea la mejor opción.

sasher

#89 https://docs.python.org/2/library/gettext.html

norvig

#86 yo te lo recomiendo, pero que sea buen código. Si publicas un código de mierda puede ser hasta contraproducente.

1
28 días después
Joey

Por si a alguno le interesa, seguimiento del curso que decía #93 aquí:

http://www.mediavida.com/foro/dev/curso-online-programming-for-everybody-python-528321

2
3 meses después
CaNaRy_r00lz

Pregunta, pk lo pregunte en el hilo de C, y me recomendaron python pero ahí no puse la imagen, con python puedo hacer este programa? o con que lenguaje debería hacerlo?, es un ejemplo de lo que quiero hacer

1 respuesta
HeXaN

#108 ¿Por qué no ibas a poder?

1 respuesta
CaNaRy_r00lz

#109 A ver puede parecer una pregunta estúpida, pero ando muy perdido xDD y todos los tutos, que veo ninguno va enfocado a ese camino ni he visto nada parecido, lo más parecido que he visto es implementandolo en cosas GIS, pero en programas, es decir dentro de arcgis y cosas así y dije a ver si te vas a equivocar xD por eso he preguntado, quería estar seguro nada más xD

1 respuesta
Napier

#110 Buscate algún libro que de python y pyqt o tk-inter. Yo de python+pyqt te puedo recomendar Rapid GUI programming with python and qt, que empieza en python básico y acaba con interfaces de usuario bastante complejas, pero tu no tendrías que llegar a los últimos capítulos para lo que quieres.

El recomendarte tk-inter es porque ya esta incluido en python y no necesitarias librerías externas, pero pyqt va muy bien también.

1 1 respuesta
CaNaRy_r00lz

#111 uhm me suena todo a chino pero iré mirando, yo supongo que tendré que hacer mis propias librerías para meter fórmulas que no hay eh estado mirando cosas de topografía y no hay absolutamente nada, enfocado a GIS si, pero a la resolución de problemas relacionados con la topografía no, aunque supongo que algunas cosas básicas y más comunes como el cálculo de un área si se puede sacar de alguna librería.

Gracias por la info, ahora mismo estaba mirando el tuto este http://cacheme.org/curso-online-python-cientifico-ingenieros/ a parte del de microsoft que son 11hrs de python xD miraré eso que comentas, a ver muchas thx!

CaNaRy_r00lz

Dobleposteo a ver si alguien me puede ayudar, trasteando y cagandola mucho he conseguido hacer un "programita" que me calcule la distancia y azimut entre 2 puntos, algo sencillo para ir empezando xD, uso PyCharm 4.5 ha sido el IDE que más me ha gustado y más agusto me encuentro.

Mi problema es que usando la libretia math, me encuentro que cuando hago un arcotangente me devuelve el resultado en radianes, no problem por eso, pero quiero el resultado en grados centesimales, y aqui es donde buscando info no encuentro si hay alguna operación que este por defecto o tengo que hacerlo yo de forma "chapucera" aquí pongo el código seguramente se pueda hacer mil veces mejor y agradezco cualquier comentario de como mejorarlo, thx por todo!


# Formula para hallar la distancia y azimut de dos coordenadas conocidas

# Coordenadas de los puntos que conocemos
from math import *

x1 = float(input('Coordenada x1: '))
y1 = float(input('Coordenada y1: '))
x2 = float(input('Coordenada x2: '))
y2 = float(input('Coordenada y2: '))

# Formula de la distancia

D = sqrt((x2 - x1) ** 2 + (y2 - y1) ** 2)

print('Distancia', D)

# Formula para hallar el azimut

Azi1 = atan(x2 - x1 / y2 - y1)

Azi2 = (degrees(Azi1)*400) / 360

print('Azimut: ', Azi2)

1 respuesta
Deoxys

#113 En principio esa manera vale, math.radians() convierte de grados a radianes y math.degrees() convierte de radianes a grados. Así que degrees(arctan(tal y cual)) debería funcionar sin problemas :)

1 respuesta
CaNaRy_r00lz

#114 Son grados Centesimales no sexagesimales, pero gracias, pk no había caido que puedes meter una cosa dentro de otra cosa, aún no me hago a eso xDD

Lo que pasa es que me da mal el resultado y no entiendo pk es decir la distancia la da bien

Distancia 141.4213562373095

pero el azimut debería dar 45º sexagesimales o 50º centesimales y me da 89.42418240675502

No entiendo el porqué a no ser que ATAN en math sea distinto al ATAN de mi calculadora que debería ser arcotangente.

La forma de hayar el azimut es ATAN=x2-x1/y2-y1 pero no veo el fallo, alguna idea? seguro que es algo super tonto como cuando me pegue 5min buscando pk no funcionaba imput, y es que es iNput xD

Deoxys

Intenta atan((x2-x1)/(y2-y1)), a lo mejor está haciendo x2-(x1/y2)-y1

Por cierto, en python no necesitas pasar algo a float, si haces algo del tipo entero/entero o entero*float te da el resultado en float directamente.

2 respuestas
CaNaRy_r00lz

#116 Pensaba que necesitabas poner float, cuando ponías un número con decimales incluso aunque ambos vayan con decimales no hace falta poner el float? pk ahora pongo 100/100 200/200 por poner números genéricos

Ya me funciona, probando cosas lo había puesto como me has dicho pero se me olvido poner ATAN pk había probado con TAN xD era la cosa de los parentesis thx!

1 respuesta
Deoxys

#117 Depende de la operación que hagas

a=4
a/2 te devuelve el entero 2, pero a/2.5 te devuelve float 1.6. Si quieres float puedes hacer algo como a/2.0 que te devuelve 2.0, pero no tiene mucho sentido.

Lo de los grados... ¿No es un paréntesis chungo?
Azi2 = (degrees(Azi1)400) / 360 en lugar de
Azi2 = (degrees(Azi1))
400 / 360

1 respuesta
CaNaRy_r00lz

#118 Si eso que has comentado si lo sabía, pero al ser coordenadas, algunas pueden ser enteras y otras float, por eso lo puse así.

al final era lo que habías comentado en #116 un parentesis que debe de ser que no cogía todo ahora está solucionado y lo tengo así

Azi1 = degrees(atan((x2 - x1) / (y2 - y1))) *400 /360

Pero al haber estado trasteando probé con TAN a ver si era pk esto hacía el ATAN de otra forma, y se me fue volver a poner ATAN cuando puse los parantesis, y al leerte fui a mirar de nuevo y me di cuenta del TAN lo puse ATAN y funciona perfectamente :)

Por cierto ahora quiero hacer otra cosa que es para hallar las coordenadas de un punto con respecto a las coordenadas de un punto conocido, entonces eso varía en si son el angulo es con respecto al horizonte o al cenit.

Debería definir una función y usar un if o else, es deicr, debería uno de los 2 campos se queda en blanco, entonces si "horiz" está en blanco entonces haz "cenit" o viceversa

1 respuesta
Deoxys

#119 Puedes hacerlo como te resulte más cómodo, aunque te recomiendo que hagas funciones separadas. El código va a quedar más limpio y fácil de leer y cuando aprendas un poco más y te apetezca meter tests automatizados te va a resultar bastante más fácil encontrar y corregir fallos.

1 respuesta