elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  Dudas en aprendizaje python
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Dudas en aprendizaje python  (Leído 2,707 veces)
dairus20

Desconectado Desconectado

Mensajes: 110


Ver Perfil
Dudas en aprendizaje python
« en: 13 Mayo 2014, 09:59 am »

Saludos, llevo 1 mes o así aprendiendo python, he leído bastante y ya entiendo conceptos como definiciones, funciones, variables, tipos de datos, clases, herencia en programación orientada a objetos etc.

Pero me surje un problema, es que no se como solucionar un problema para escribirlo en python, me explico si por ejemplo quiero implantar la serie de fibonacci en python, no se como hacerlo, se que ya hay escrito codigo para python, pero me gustaría que yo fuese capaz de escribirlo y desarrollar yo mismo el algoritmo.

A parte de eso, he buscado por ejemplo algoritmos matemáticos simples para implantarlo en python y no soy capaz de hacerlo.

No se si antes de meterme en python debo tener alguna teoría básica de algoritmia o algo así, python es mi primer lenguaje de programación, y me gustaria tener una buena base para poder hacer proyectos grandes.


Espero que me haya explicado bien, gracias de antemano.


En línea

#Aitor

Desconectado Desconectado

Mensajes: 173



Ver Perfil
Re: Dudas en aprendizaje python
« Respuesta #1 en: 13 Mayo 2014, 10:54 am »

Código:
No se si antes de meterme en python debo tener alguna teoría básica de algoritmia o algo así, python es mi primer lenguaje de programación, y me gustaria tener una buena base para poder hacer proyectos grandes.

Desde mi punto de vista yo creo que se trata más de 'logística'. Fibonacci es muy simple y solo es tener una variable auxiliar e ir sumando en cada ciclo el número anterior.

(Quizá estoy metiendo la pata, pues nunca me interesé en python, pero al menos en c++ y en la mayoría de nivel alto se hace así)

Yo creo que solo tienes que darle un poco más al coco, o que sé yo, buscar un lenguaje que te guste más. (Pero creo que esto último no será el problema)

No obstante, te dejo este link, ya que estás hablando de la secuencia de fibonacci.
http://www.minidosis.org/#/actividades/Cpp.Secuencias.Fibonacci.vid

Es para c++, pero Pau Fernandez a mi forma de 'entender', explica muy bien y creo que lo importante no está en el lenguaje (en este caso python), si no entender qué es la secuencia y como funciona... y yo creo que aunque la explicación este orientada a c++, lo vas a entender para python.

Ya nos contarás como te fue, y a darle al coco.

Saludos!


« Última modificación: 13 Mayo 2014, 10:56 am por #Aitor » En línea

Mi algoritmo en PHP (estupideces y más).
Código
  1. while($Se_feliz){
  2.  Piensa_un_OBJETIVO(); // Sin excusas!
  3.  if($Tienes_un_objetivo){
  4.    Suspira(); // Sé paciente.
  5.    if($Consigues_el_objetivo){ echo "¡Felicidades #Aitor!";return;
  6.      //RETURN; ¿O volvemos a empezar?
  7.    }else{
  8.      Inténtalo_de_nuevo();
  9.    }
  10.  }
  11. }
tincopasan


Desconectado Desconectado

Mensajes: 1.286

No es lo mismo conocer el camino que recorrerlo.


Ver Perfil
Re: Dudas en aprendizaje python
« Respuesta #2 en: 13 Mayo 2014, 11:34 am »

Hola:
       seguro estoy equivocado, pero creo que deberías empezar pensando la solución al problema en seudocódigo, o sea no importa el lenguaje que uses, en este caso python.
por ejemplo:
todos sabemos que la suseción de fibonaci es que cada "número" es la suma de los dos anteriores, o sea si tengo 0+1=1   1+1=2   1+2=3   2+3=5  3+5=8  etc.
entonces imaginemos que queremos realizar la secuencia:
1) tendríamos que saber donde terminar poque sino el resultado sería muyyyyy largo,
por lo tanto lo primero sería pedir el número final de nuestro programa
"pedir número final"
NF
2) ahora hay que asignar el valor de los números iniciales a unas variables
a= 0
b= 1
ese sería el comienzo de la serie
3)en algún lugar hay que guardar el resultado sino no lo veríamos
 Resultado=lista
4)ahora hay saber que mientras a < NF
  realice una repetición
c= a+b
a=b
b=c
y devuelve c
guardar c en el resultado

No debe ser muy claro pero es una forma de seudocódigo solo hay que pasarlo a python que no te debe ser díficil si manejas variables, listas, bucles y pedido de datos
En línea

Gh057


Desconectado Desconectado

Mensajes: 1.190



Ver Perfil
Re: Dudas en aprendizaje python
« Respuesta #3 en: 13 Mayo 2014, 12:27 pm »

hola dairus20, puedes tanto presentar el planteo de forma gráfica como un diagrama de flujo  o bien en modo "texto en papel" como seudocódigo, como te indica tincopasan; ya que implica desarollar un algoritmo, entendiendo como algoritmo a una sucesión finita de pasos para resolver un problema.

esta forma de desarrollo de una solución es de tipo estructurado (por favor mírate el paradigma) a diferencia del paradigma orientado a objetos.

una buena forma de practicar es por ejemplo con temas cotidianos, plantéate "como hacer un té" e intenta acordarte y plasmar todos los pasos necesarios para realizarlo, ejemplo

1- agarro una jarra.
2- la lleno de agua.
3- agarro un fósforo, (si no tengo, un encendedor)
4- prendo la hornalla
5- pongo la jarra al fuego
6- espero que hierva (hacer otro proceso.. XD)
7- apagar el fuego
8- poner un saquito  de té en la taza.
9- tapar con un plato la taza
10 esperar 5 minutos...
11 degustar un buen té. XD

luego de ello, no contento, intenta mejorarlo. (y si quisieras hacerlo tanto para té en saquitos o en hebras? que pasa si no tuvieras té, no deberías primero asegurarte de ello antes de comenzar? etc... ahhhh te diste cuenta que nunca puse el agua en la taza?  ;D)

como verás, es algo demasiado simple, sin embargo la mayorí intenta programar sin tener en claro este concepto; si dedicas tiempo en él verás como de a poco tu código es más simple y más eficiente; sea el lenguaje en que lo implementes.

un cordial saludo.

(agrego) y el tiempo que piensas que haz perdido, lo terminas ganando al realizar la codificación mucho más rápido... es muy difícil que un programa no funcione de manera apropiada si partes de un buen algoritmo.
« Última modificación: 13 Mayo 2014, 12:30 pm por Gh057 » En línea

4 d0nd3 1r4 3l gh057? l4 r3d 3s 74n v4s74 3 1nf1n1t4...
dairus20

Desconectado Desconectado

Mensajes: 110


Ver Perfil
Re: Dudas en aprendizaje python
« Respuesta #4 en: 15 Mayo 2014, 04:25 am »

Saludos, muchas gracias a todos por su tiempo y por darme tantos consejos, he seguido adelante, ya estoy aprendiendo a programar con pygame, aunque aún tengo muchos errores pero voy tirando.

Además pygame como programo cosas gráficas me divierte y se me pasa el tiempo volando, tengo en mente hacer algún juego tipo pongo o space invader pero necesito saber más sobre pygame.

Pero a veces pienso que debería seguir estudiando más python a fondo, pero bueno un lenguaje de programación no se puede aprender en 1 semana xd.

Ahora solo me queda motivarme en seguir adelante y buscar algún proyecto para ir implantando en python.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Dudas en Python
Scripting
Fyrox 6 3,598 Último mensaje 24 Agosto 2011, 00:49 am
por Fyrox
[PYTHON] 2 dudas
Scripting
sunicomi 3 2,969 Último mensaje 11 Septiembre 2012, 22:13 pm
por Eleкtro
dudas de python
Scripting
arkaneix 1 2,230 Último mensaje 25 Octubre 2012, 06:49 am
por Eleкtro
Mega pack - recopilacion pdf (guias de aprendizaje python) [zip-pdf] español
Scripting
lararich 1 2,502 Último mensaje 27 Septiembre 2018, 11:24 am
por nokia-6260
Netflix explica dónde y cómo utiliza Python: desde aprendizaje automático ...
Noticias
wolfbcn 0 2,264 Último mensaje 2 Mayo 2019, 21:43 pm
por wolfbcn
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines