Das Sieb des Eratosthenes

Vollständig korrekte Version (aber keineswegs optimiert!):

# Das Sieb des Eratothenes
#
# Primzahlen sind natürliche Zahlen, die genaus zwei Teiler haben.
 
 
 
# Die Zahlen von 0 bis 100:
Ende = 101
 
# In dieser Liste wird gleich für die Zahlen von 0 bis 'Ende' gespeichert
# ob sie prim sind:
zahlen = []
 
# Erst wird behauptet, dass alle Zahlen prim sind:
for i in range(Ende):
    zahlen.append(True)
 
# Null und Eins sind nicht prim, egal was das Sieb sagt:
zahlen[0]=False
zahlen[1]=False
 
# Nun werden alle Vielfachen aller natürlichen Zahlen gestrichen.
# Ausnahmen: die 0-fachen und die 1-fachen werden nicht gestrichen.
# Beachte: Die Zahl 'Ende' ist nicht in range (2,Ende) enthalten!
for i in range(2,Ende):
    for k in range(2,Ende):
        if (i*k<Ende):
            zahlen[i*k]=False
 
# Ausgabe aller gefundenen Primzahlen von 0 bis 'Ende'.
for i in range (0,Ende):
    if zahlen[i]:
        print (i)

Die Fibonacci-Zahlen

Vorher machen wir ein kleines Spiel mit anfangs 5 FreiwilligInnen.

def fib (n):
    if n==0:
        return(0)
    else:
        if n==1:
            return(1)
        else:
            return (fib(n-1)+fib(n-2))
 
print (fib(8))