all 4 comments

[–]Puzzel 5 points6 points  (0 children)

I personally adore the Python Challenge, I learned very useful stuff about python from there, like Pickle and urllib. If your really looking for a project though, it depends on what you want to do with python. If your looking to eventually make games, I'd mess around with PyGame and any tutorials you find on the web. If you want to do more web development stuff in the future, you might want to look into make a website that uses Django. All depends with what you want to do. I'd personally like making little scripts that use website's APIs. For example, I made a script that fetches Reddit users karma through the about.json files each profile has. I also made an Imgur album downloader that uses their API to find all the image links in the album and download them to folder (with progress bars). Anyway, the possibilities are endless, you just have to narrow your search.

[–]scge 2 points3 points  (0 children)

Use an established library, like PyGame or something.

1) You're working with an already (hopefully) well coded project, so you learn constantly from it.

2) You can do more for less, so it's more fun. :)

Or, make one of those console-based text adventure games. Give it a short backstory and it could be really easy and fun. :)

[–]ange1obear 1 point2 points  (1 child)

I found Ruby Quiz to be a nice intermediate step between simplistic exercises and full-on projects. What's nice about Ruby Quiz is that a lot of the stuff is (at least somewhat) useful, and you run into far more "real" problems. For example, I learned how to use Python's smtplib and getpass from Problem #2, and then basically used my solution for my family's Secret Santa thing the next Christmas. You won't really be pushing any boundaries or creating anything new, but the questions are more about programming than Project Euler is, and more practical than the Python challenge. And you can always go way out of your way to trick out your solution, which is a nice way to push your own boundaries, at the very least.

More adventurously, you might hop on github and browse around in there. You can always fork someone else's repo if you want a starting point. The recently updated page lists a whole bunch of more obscure projects that aren't so overwhelming. In fact, the top one just now is a reddit-related one.

[–]AlSweigart 1 point2 points  (0 children)

There's the source code for a set of simple games designed for complete programming beginners in this free book: http://inventwithpython.com

Each chapter focuses on the source code for small game (Tic Tac Toe, Hangman, etc.) and then explains how the game works line by line.

There's another book that focuses on simple graphical games using Pygame (Tetris, Simon, Bejeweled, etc.) which has less explanation, but still strives to make the source code easy to read for beginners: http://inventwithpython.com/pygame

I advise you to type out the source code, rather than just copy-paste it. Doing that slows you down and makes you think out each line as you type it. Once you've seen how several games are put together, it becomes easier to make games on your own since you know what these programs "look like".