2010-07-10 15 views
37

Bueno, simplemente entrar en el flujo de cosas con Python. Leer algunos libros, encontrarlo bastante fácil ya que tengo cierta experiencia con C++/Java de la escuela y Python es definitivamente mi favorito hasta ahora.Práctica para principiantes Python?

De todos modos, estoy obteniendo un montón de información sobre python, pero no la he estado usando demasiado. Por lo tanto, lo que me preguntaba era si hay algún tipo de problemas de práctica en línea que pueda usar. Si alguien pudiera señalarme en algún tipo de dirección, lo agradecería enormemente.

+0

www.projecteuler.net –

+4

posible duplicado de [¿Dónde puedo encontrar buenas prácticas de problemas de python con soluciones?] (Http://stackoverflow.com/questions/2657238) o [¿Cuáles son tus ejercicios de programación?] (Http: //stackoverflow.com/questions/6327) o [ejercicios de Python para mejorar sus habilidades] (http://stackoverflow.com/questions/29578) o [Problemas de práctica para el programador novato] (http://stackoverflow.com/questions)/985622) - ya hay muchas preguntas como esta. – Joey

+0

posible duplicado de [¿Dónde puedo encontrar buenas prácticas de problemas de python con soluciones?] (Http://stackoverflow.com/questions/2657238/where-can-i-find-good-practice-python-problems-with-solutions) –

Respuesta

31

Encontrará excelentes prácticas para principiantes en http://singpath.com ... el "juego" es interactivo, le da la capacidad de editar sus respuestas, y los ejercicios son mucho más prácticos que el Python Challenge, además hay múltiples niveles para elija de acuerdo con su nivel de habilidad. Lo más importante, diviértase, ¡y bienvenido a Python!

ps. su experiencia lo coloca en el corazón del público objetivo de mi libro de Python, Programación Core Python, cuyo objetivo es enseñar Python tan rápido como sea posible. los comentarios, la filosofía, y otra información en http://corepython.com

[actualización de mayo de 2013] Existen muchas alternativas Ahora, además de SingPath:

http://codecademy.com/tracks/python

http://codingbat.com/python

http://pythontutor.com

http://learnpython.org

http://pyschools.com

http://learnstreet.com/lessons/study/python [Junio ​​Actualización de 2015: desaparecida ... ver this]

+0

+1 para singpath. Excelente práctica para principiantes. –

+6

-1 para Singpath, eso es lo más desagradable de todos, estoy seguro de que mejora con el tiempo, pero no es más que copiar y pegar variables por un tiempo :-) – ZaBlanc

+3

+1 Para la buena actualización. – keyser

9

Trate Project Euler:

Proyecto Euler es una serie de desafiando/ordenador problemas de programación matemática que requerirán algo más que conocimientos matemáticos para resolver . Aunque las matemáticas le ayudarán a llegar a los métodos elegantes eficiente, se requiere el uso de una computadora y habilidades de programación para resolver la mayoría de los problemas.

El problema es:

Añadir todos los números naturales por debajo de 1000 que son múltiplos de 3 o 5.

Esta pregunta probablemente dará a conocer Python para-bucles y la función integrada range() en lo mínimo. Puede llevarlo a descubrir listas de comprensiones o expresiones de generador y la función incorporada sum().

+3

Sí, los problemas requieren la aplicación de algoritmos para producir buenas soluciones, en realidad no * enseñan * nada en absoluto. Para resolverlos, es necesario que ya tenga una buena idea de lo que está haciendo, y la única forma en que puede obtener retroalimentación sobre los posibles enfoques de un problema es resolverlo de verdad, no mucho bien (en cuanto al aprendizaje) si Está atascado en un problema en particular. – Mac

3

The Python Challenge no solo le permitirá ejercitar el Python que conoce, sino que también le solicitará que conozca varios paquetes populares de terceros para resolver algunos de los desafíos.

+2

Es posible que se haya perdido la palabra »principiante« de la pregunta. También cosas como PC no son para todos. Esos rompecabezas * son * muy intrincados y no le enseñan mucho acerca de la programación o el uso de un idioma. – Joey

+0

No, creo que está bien ser forzado a estirar un poco, incluso como un principiante. Solo puede escribir un generador principal tantas veces antes de que comience a carecer de sentido. –

+2

Por supuesto que está bien ser forzado a estirar un poco, pero eso implica algo así como aprender sobre una nueva función de idioma, escribir un programa para cumplir con algunos requisitos prácticos o consultar algún código fuente existente para ver cómo funciona. El desafío de Python no cuenta. Todo lo que hace es "recompensarte" por adivinar correctamente las intenciones del autor, lo cual es inútil como técnica de enseñanza. –

2

Encontré Python en 1988 y me enamoré de él. Nuestro grupo de trabajo se había disuelto y estábamos buscando otros trabajos en el sitio, así que tuve un par de meses para jugar haciendo lo que quisiera. Pasé el tiempo rentablemente aprendiendo y usando python. Sugiero que dedique tiempo a pensar y escribir utilidades y varias herramientas útiles. Ahora tengo 200-300 en mi biblioteca de herramientas de python (ni siquiera puedo recordarlos a todos). Aprendí Python del tutorial de Guido, que es un buen lugar para comenzar (un programador C se sentirá como en casa).

python es también una gran herramienta para hacer modelos: físicos, matemáticos, estocásticos, etc. Use numpy y skipy. Tampoco estaría de más aprender algunas cosas de la GUI. Cogí wxPython y lo aprendí, ya que tenía cierta experiencia con wxWidgets en C++. ¡wxPython tiene algunas impresionantes demostraciones!

+2

Python no fue lanzado al público hasta 1991 - ¿quisiste decir 1998? – fmark

1

Siempre me resulta más fácil aprender un idioma en un dominio de problema específico. Puede intentar mirar Django y hacer el tutorial. Esto le dará una introducción muy ligera tanto a Python como a un marco web (uno muy bien documentado) que es 100% Python.

Luego haga algo en su (s) campo (s) de experiencia (generación de gráficos, o lo que sea) y ate a eso en un marco de trabajo para ver si lo hizo bien. Mi universo tiende a ser la lingüística computacional y hay una serie de kits de herramientas basados ​​en Python para ayudarlo a comenzar. P.ej. Natural Language Toolkit.

Solo un pensamiento.

1

es posible que desee echar un vistazo a Pyschools, el sitio tiene un buen montón de preguntas de práctica de programación Python.

4

He usado http://codingbat.com/. Un gran sitio web que no solo toma una respuesta, como Project Euler, sino que también verifica su código para obtener mayor solidez al ejecutarlo a través de múltiples pruebas. Pide un código mucho más amplio que el Proyecto Euler, pero también es mucho más simple que la mayoría de los problemas de Euler. También tiene gráficos de progreso que son geniales.

0

Puede estar interesado en Python interactive tutorial para principiantes y usuarios avanzados, tiene muchas prácticas disponibles junto con la interfaz interactiva + trucos de desarrollo avanzado para usuarios avanzados.

6

También puedes probar CheckIO, que es una especie de misión en la que tienes que publicar soluciones en Python 2.7 o 3.3 para avanzar en el juego. Diversión y tiene una comunidad bastante grande para preguntas y apoyo.

de sus Main Wiki Page:

Bienvenido a CheckIO - un servicio que ha unido a todos los niveles de Python desarrolladores - desde principiantes hasta los expertos reales!

Aquí puede aprender la codificación de Python, intente resolver varios tipos de problemas y comparta sus ideas con los demás. Además, puede considerar las soluciones originales de otros usuarios, intercambiar opiniones y encontrar nuevos amigos.

Si acaba de comenzar con Python - CheckIO es una gran oportunidad para para aprender los conceptos básicos y obtener una rica práctica en la resolución de diferentes tareas . Si usted es un codificador experimentado, aquí encontrará una oportunidad emocionante para perfeccionar sus habilidades y aprender nuevas lógicas alternativas de los demás.En CheckIO no solo puede resolver las tareas existentes, , sino también proporcionar las suyas propias e incluso obtener puntos por ellas. ¡Disfruta de la posibilidad de jugar juegos lógicos , participando en las emocionantes competiciones y comparte tu éxito con amigos en CheckIO.org!

+1

Hola, bienvenido a SO. Al publicar respuestas que implican referencias a otros sitios, publique también la información del enlace. He editado tu publicación por el momento (debería ser visible en breve). ¡Que te diviertas! –

0

Pruebe este sitio lleno de Python Practice Problemas. Se inclina hacia problemas que ya se han resuelto para que tenga soluciones de referencia.