Jamie Starke bio photo

Jamie Starke

I develop for my career, but I also develop for fun, and whenever I think it can solve a problem I'm having. This has lead me to create side projects, such as Rental Map and BusTimes, among others.

Consulting Newsletter Email Twitter Facebook Google+ LinkedIn Github Stackoverflow More

The first example from this week was a count down. This would display on screen a count down from 10 to 0.

import sys

#This will give us some control over the time
import time

# We want the text around the center
xCenter = 400
yCenter = 300

# Set up my font, with a size of 100 pixels
print "font arial 100 BOLD"

# My looping conditions
start = 10
end = -1
inc = -1

#Wait a second

#For each number we want to
for i in range(start,end,inc):
    #Wait one second
    print "color 0 0 0"

    #Clear the screen
    print "clear"
    print "color 255 255 255"

    #Then write the number
    print "text",i, xCenter, yCenter

The important thing from this example was

#Our looping Conditions
start = #what value do we want to start with#
end = #at what value do we want to stop#
inc = #how do we want our values to change from one to the next#

for i in range(start,end,inc):
    #Do something`

In many ways, this behaves like the intersection example from last week. If our start were 10, and our end were 0, and our inc was -1, we would go down one number each time from 10 to 1 (remember, we won’t do anything with 0, cause we stop)

The second example this week was a mathematical table. In this example we will have the numbers from 0 to 15 as a header row, and column. We will then will in the position at the row and column with the multiplication of the row and column header.

#Where do I want my table to start
xStart = 100
yStart = 100

#How much space do I want between numbers
spacing = 30

#How do I want my font set up
print "font arial 10 BOLD"

#Loop variables
start = 0
end = 16

#Draw lines to separate the numbers we want to multiply from the answers
print "line",xStart - spacing / 2,yStart - spacing,xStart - spacing/2,yStart + spacing * end
print "line",xStart - spacing,yStart - spacing/2,xStart + spacing * end,yStart - spacing / 2

#Write the numbers on the top and side
for i in range(start,end):
    print "text",i,xStart + i*spacing, yStart - spacing
    print "text",i,xStart - spacing, yStart + i*spacing

#Fill in the columns and rows.  In this example, with the number at the top multiplied by the number on the side
for i in range(start,end):
    for j in range(start,end):
        # Multiply I and J, and put the answer at x column i and y row j
        print "text",i*j, xStart + i*spacing, yStart + j*spacing

In this example we use a nested for loop

#loop conditions
start = #where to begin#

end = #where to end#

inc = #how to change from one to the next#

for i in range(start,end):
     for j in range(start,end):
          #Do something with a combination of i and j`