Pippy

From OLPC
Revision as of 17:34, 21 August 2007 by Cjb (talk | contribs) (add Pippy page)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Pippy is an activity for learning how to program with Python. It looks like this:

(screenshot)

Examples

Math

apples

Author: Madeleine Ball

print "Let's do math!"

print "On Monday I picked 22 apples. On Tuesday I picked 12."

print "Now I have: ", 22 + 12

print "My brother says he picked twice as many apples last week."

print "This means he picked: ", (22 + 12) * 2

print "I have 3 friends I would like to give apples."

print "One third of my apples is about: ", (22 + 12) / 3

print "Or, more exactly: ", (22.0 + 12.0) / 3.0

Pascal

Author: Madeleine Ball

# Pascal's triangle
lines = 8

vector = [1]

for i in range(1,lines+1):
  vector.insert(0,0)
  vector.append(0)

for i in range(0,lines):
  newvector = vector[:]
  for j in range(0,len(vector)-1):
    if (newvector[j] == 0):
      print "  ",
    else:
      print "%2d" % newvector[j],
    newvector[j] = vector[j-1] + vector[j+1]
  print
  vector = newvector[:]

times1

Author: Chris Ball

for i in range(1,13):
    print i, "x 4 =", (i*4)

times2

Author: Chris Ball

number = input("Which times table? ")
for i in range(1,13):
    print i, "x", number, "=", i*number

Python

Function

Author: Chris Ball

def square(x): 
    print x * x

square(3)
square(4)

If

Author: Chris Ball

number = input("Enter a number: ")

if number > 5:
    print "Greater than 5"
elif number < 5:
    print "Less than 5"
else:
    print "Number is 5!"

String

hello1

Author: Chris Ball

print "Hello everyone!"

hello2

Author: Chris Ball

name = raw_input("Type your name here: ")
print "Hello " + name + "!"

Graphics

jump

Author: C. Scott Ananian

# both of these functions should be in the 'basic' package or some such
def clear_scr():
    print '\x1B[H\x1B[J' # clear screen, the hard way.
def wait():
    import time
    time.sleep(0.1)

# jumping man!
# having to escape the backslash is rather unfortunate
# i didn't have to do that in C64 BASIC
for i in xrange(0,50):
    clear_scr()
    print "\\o/"
    print "_|_"
    print "   "
    wait()
    
    clear_scr()
    print "_o_"
    print " | "
    print "/ \\"
    wait()
    
    clear_scr()
    print " o "
    print "/|\\"
    print "| |"
    wait()
    
    clear_scr()
    print "_o_"
    print " | "
    print "/ \\"
    wait()