Pippy: Difference between revisions
Jump to navigation
Jump to search
(Undo revision 62489 by 18.85.18.12 (Talk) - Removed html/iframe tags) |
No edit summary |
||
Line 99: | Line 99: | ||
print i, "x", number, "=", i*number |
print i, "x", number, "=", i*number |
||
</pre> |
</pre> |
||
=== Fibonacci Series === |
=== Fibonacci Series === |
||
Author : Rafael Ortiz |
Author : Rafael Ortiz |
||
Line 106: | Line 107: | ||
print b, |
print b, |
||
a, b = b, a+b |
a, b = b, a+b |
||
</pre> |
|||
=== Factorize === |
|||
Author: Reinier Heeres |
|||
<pre> |
|||
import math |
|||
import sys |
|||
orignum = input("Enter a number to factorize ") |
|||
factors = [] |
|||
num = orignum |
|||
i = 2 |
|||
while i <= math.sqrt(num): |
|||
if num % i == 0: |
|||
factors.append(i) |
|||
num /= i |
|||
i = 2 |
|||
elif i == 2: |
|||
i += 1 |
|||
else: |
|||
i += 2 |
|||
factors.append(num) |
|||
if len(factors) == 1: |
|||
print "%d is prime" % orignum |
|||
else: |
|||
sys.stdout.write("%d is %d" % (orignum, factors[0])) |
|||
for fac in factors[1:]: |
|||
sys.stdout.write(" * %d" % fac) |
|||
print |
|||
</pre> |
</pre> |
||
Revision as of 15:25, 31 August 2007
Pippy is an activity for learning how to program with Python. It looks like this:
Examples
Please add examples here, or modify the existing ones!
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[:]
Sierpinski triangle
Author: Madeleine Ball
Modification of the Pascal's triangle program to produce Sierpinski triangles.
size = 5 modulus = 2 lines = modulus**size 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: remainder = newvector[j] % modulus if (remainder == 0): print "O", else: print ".", 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
Fibonacci Series
Author : Rafael Ortiz
a, b = 0, 1 while b < 1001: print b, a, b = b, a+b
Factorize
Author: Reinier Heeres
import math import sys orignum = input("Enter a number to factorize ") factors = [] num = orignum i = 2 while i <= math.sqrt(num): if num % i == 0: factors.append(i) num /= i i = 2 elif i == 2: i += 1 else: i += 2 factors.append(num) if len(factors) == 1: print "%d is prime" % orignum else: sys.stdout.write("%d is %d" % (orignum, factors[0])) for fac in factors[1:]: sys.stdout.write(" * %d" % fac) print
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!"
Recursion
Author: Mel Chua
# Note this assumes you understand functions and if-else. def countbackwards(number): print "I have the number", number if number > 0: print "Calling countbackwards again!" countbackwards(number-1) else: print "I am done counting" number = input("Enter a number: ") countbackwards(number):
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! # was having to escape the backslash which was rather unfortunate, # now using python's r" strings which were meant for regex's # i didn't have to do that in C64 BASIC for i in xrange(0,50): clear_scr() print r"\o/" print r"_|_" print r" " wait() clear_scr() print r"_o_" print r" | " print r"/ \" wait() clear_scr() print r" o " print r"/|\" print r"| |" wait() clear_scr() print r"_o_" print r" | " print r"/ \" wait()