Programmieren, Sprachen, C++, Python, Ruby, PHP

   Home    Programmieren    Projekte    esearch    Musik    Linux    Links    About   
   Bundeswettbewerb    C++    Python    Ruby    PHP   
 
          

Python

Python ist eine interpretierte, interaktive und objektorientierte Skriptsprache, die sich zunehmender Popularität erfreut. Sie ist unter Unix, Linux und Windows einsetzbar. Als leicht erlernbare und moderne Sprache ist sie auch für Anfänger gut geeignet.

1. Beispiele

1.1. Fakultät

def fak(n):
    if n == 0:
        return 1
    else:
        return n * fak(n-1)

1.2. n-Damen Problem

from sys import argv, setrecursionlimit

setrecursionlimit(100000)

def zeichne():
    global feld, n
    for i in range(0, n):
        i = n - i
        line = ""
        for j in feld:
            if j == i:
                line += 'X'
            else:
                line += '.'
        print line
    print

def kollision(b):
    global feld
    i = 0
    for fb in feld[:b]:
        if (fb == feld[b]) or (abs(fb - feld[b]) == abs(i - b)):
            return True
        i += 1
    return False

def backtrack(b):
    global feld, n, loes
    first = True
    while (feld[b] == 0) or kollision(b) or first:
        first = False
        if (feld[b] == n):
            if b == 0:
                return # Alle Loesungen gefunden
            feld[b] = 0
            backtrack(b - 1)
            return
        feld[b] += 1
    if b == n - 1:
        print "Loesung:", feld
        zeichne()
        loes += 1
        backtrack(b)
        return
    backtrack(b + 1)

if __name__  == "__main__":
    if len(argv) < 2:
        print "Usage: damen.py "
    else:
        n = int(argv[1])
        feld = [0 for None in range(0, n)]
        loes = 0
        backtrack(0)
        print "Loesungen:", loes

1.3. Weg durch ein Labyrinth

Dieses kleine Programm findet den Weg durch ein Labyrinth. Download lab.tar.bz2 (0.7 kB)

2. esearch

esearch ist eines der Scripte, die ich mit Python programmiert habe. Mehr Informationen unter esearch.


© 2004 by David Peter