A good Project for the mid-way between beginner and intermediate is blackjack. It will get you used to most functions, list, objects, and depending on how serious you want it to be, GUI.
Assume you have filed all your code snippets into one directory. Write a Python program that searches this directory for keywords and brings up the names of the files that contain these keywords.
Control a turtle graphics canvas (module turtle) from an external Tkinter window with buttons.
Assume you have a list of unique integers, write a program that will show the closest pair or pairs.
You can use the Python third party module SimpleCV from: http://www.simplecv.org/
To do Computer Vision experiments leading to rather interesting projects.
Create a function that shifts elements of a list in circular order.
For instance [1,2,3,4,5] --> [5,1,2,3,4] etc.
Use a Python program to go through the thread http://www.daniweb.com/community-center/geeks-lounge/threads/90244/what-are-you-eatingdrinking-right-now
and show the five most popular eats.
Using a Python GUI tookit like Tkinter write a numeric seven segment LED display like the ones on your alarm clock.
Write a Python program that finds the smallest number that can be divided by each of the numbers from 1 to 10 without leaving a remainder.
Compare texts and see which ones are a close match.
Work out a degree/percentage of match.
If you have a room with 16 people, how many times can they shake hands once with each other?
How about you try to make a calculator to find the chances of landing somewhere on monopoly from you location. What are the chances of getting from Mayfair to Liverpool Street Station in one turn?
In Tkinter programme a periodic table where if you click an element it gives you more info.
Use Tkinter to make a game similar to Pokemon with attacks and items.
Have a look at pygame
Work up to an final goal
You have two strings that look much alike:
Write Python program that will highlight the differences by capitalizing the characters that don't match:
Generate 2 lists with 25 random numbers, where each list’s numbers are not within 20 digits of each other or others list. Numbers for list X must be less than 1024 and numbers in list Y must be less than 768. For example:
ListX = [80, 140, 1, 1014, etc…
ListY = [ 56, 25, 110, 612, etc…
Check out this Python project dealing with sound waves at: http://openbookproject.net/py4fun/wave/wave.html
Make a password generator where the user can enter how many characters they won't it to be and if the want symbols or not. Then it will generate passwords with Caps, Lowercase and numbers 0-9.
Hint- Use random number generator in python.
Implement the Comb Sort algorithm in Python code.