Programmieren für Philosophinnen und Philosophen: Unterschied zwischen den Versionen

Aus Philo Wiki
Wechseln zu:Navigation, Suche
Zeile 39: Zeile 39:
  
 
(fragen, anmerkungen etc auf der diskussions seite, link unten in der mitte)
 
(fragen, anmerkungen etc auf der diskussions seite, link unten in der mitte)
 +
 +
=== Textproduktion ===
  
 
<pre>
 
<pre>
Zeile 71: Zeile 73:
  
 
- ausgewählte wörter nicht noch einmal auswählen.
 
- ausgewählte wörter nicht noch einmal auswählen.
 +
 +
=== Wiki Integration ===
 +
 +
unsere textproduktionsfunktionen könnten wir im web der allgemeinheit zur verfügung stellen. eine einfache variante wäre es die funktionen in ein wiki zu integrieren. moin ist ein wiki das in python geschrieben ist. moin unterstützt parser plugins. im folgenden ein beispiel für einen sehr einfachen parser. dem können wir die schnittstelle entnehmen auf der wir aufsetzen könnten.
 +
 +
<pre>
 +
"""
 +
    MoinMoin - HTML Text Parser
 +
 +
    Copyright (c) 2001 by Christian Bird <chris.bird@lineo.com>
 +
    All rights reserved, see COPYING for details.
 +
 +
"""
 +
class Parser:
 +
    """
 +
        Send HTML code raw
 +
    """
 +
 +
    def __init__(self, raw, request, **kw):
 +
        self.html = raw
 +
 +
    def format(self, formatter):
 +
        """ Send the "parsed" text.
 +
        """
 +
        #this is pretty easy since converting HTML to HTML is a no-brainer
 +
        print self.html
 +
</pre>

Version vom 18. Oktober 2004, 09:35 Uhr

Termine

  • 5.10.2004 17:00-20:00,
  • 19.10.2004 17:00-20:00, Hörsaal 3A (NIG, 3. Stock)

Entwicklungsumgebung

wir verwenden Python 2.3.4, zu finden unter http://www.python.org/download.

dokumentation der programmiersprache python und der zugehörigen standard libraries ist in der installation enthalten (idle menü "help" - "python docs").

falls der einstieg in die python entwicklungsumgebung idle probleme bereitet ist http://hkn.eecs.berkeley.edu/~dyoo/python/idle_intro/index_ger.html zu empfehlen.

(fragen, anmerkungen etc auf der diskussions seite, link unten in der mitte)

Python on Apple Macintosh

"MacOs X.3" beinhaltet bereits die komplette "MacPython-engine". Das Einzige was Dir also noch fehlt ist eine passende Oberfläche in der Du arbeiten kannst. Es gibt sicher mehrere "skins", die Du dabei verwenden kannst. Für den Anfang dürften die "MacPython 2.3 for Panther addons" reichen, welche Du auf dieser Seite herunterladen kannst.

Klicke dann einfach auf den Link "MacPython 2.3 for Panther addons"

Das Einzige was Du bei der Installation beachten musst, ist, dass Du als Ziellaufwerk Deine "Hauptfestplatte" angibst.

Das Programm findest Du dann im Ordner: "Festplatte/Programme/MacPython-2.3"

Mit Doppelklick auf "PythonIDE" startest Du das Programm.


Die alte Version von "MacPython" ("MacPython-OSX 2.3.3") solltest Du, so steht es auf der Webseite des Herstellers, besser nicht verwenden wenn Du "OsX.3" verwendest, da es zu Komplikationen mit dem bereits vorinstallierten "MacPython 2.3" kommen kann. Diese Version solltest Du also nur dann verwenden, wenn Du noch immer "OsX.2" verwendest. Auf derselben Seite findest Du natürlich auch eine Version für "Classic" ("MacOs 9").

Welche Version von "MacOs" auf Deinem Computer installiert ist, kannst Du herausfinden indem du links oben auf das "Apfel-Symbol" klickst und dannach "Über diesen Mac" wählst.


Programme

(fragen, anmerkungen etc auf der diskussions seite, link unten in der mitte)

Textproduktion

# woerter zufaellig zusammenstellen

import random
satz = [ 'wer', 'hat', 'an', 'der', 'uhr', 'gedreht', ',', 
         'ist', 'es', 'wirklich', 'schon', 'so', 'spaet', '?' ]
i = 0
while i < 14:
    print random.choice( satz),
    i = i + 1

#eof

als nächstes könnten wir ein programm schreiben das haikus generiert. (zb. 1.zeile 5 silben, 2.zeile 7 silben, 3.zeile 5 silben). zuerst müssen wir uns überlegen wie wir die daten im programm halten. eine liste von strings wie im beispiel oben ist zuwenig - die anzahl der silben pro wort ist nicht enthalten. dann müssen wir überlegen nach welchem verfahren wir vorgehen.

(vorschläge, entwürfe, programmcode für diese und die folgenden fragstellungen sind willkommen.)

weitere aufgabenstellungen für erweiterungen oder modifikationen des "woerter zufaellig zusammenstellen" programmes:

- "stabreime": nur wörter mit dem selbem anfangsbuchstaben verwenden.

- nur die hauptwörter austauschen.

- den ausgangstext nicht als liste von strings sondern den ganzen text als einen string an das programm übergeben. das programm muss dann die liste von wörtern die zufällig zusammengestellt werden sollen selbst erzeugen.

- den ergebnis text in einen string schreiben und erst am schluss mit einem print statement ausgeben.

- das programm komprimieren, so dass die selbe funktionalität nur die halbe anzahl an programm statements benötigt.

- ausgewählte wörter nicht noch einmal auswählen.

Wiki Integration

unsere textproduktionsfunktionen könnten wir im web der allgemeinheit zur verfügung stellen. eine einfache variante wäre es die funktionen in ein wiki zu integrieren. moin ist ein wiki das in python geschrieben ist. moin unterstützt parser plugins. im folgenden ein beispiel für einen sehr einfachen parser. dem können wir die schnittstelle entnehmen auf der wir aufsetzen könnten.

"""
    MoinMoin - HTML Text Parser

    Copyright (c) 2001 by Christian Bird <chris.bird@lineo.com>
    All rights reserved, see COPYING for details.

"""
class Parser:
    """
        Send HTML code raw
    """

    def __init__(self, raw, request, **kw):
        self.html = raw

    def format(self, formatter):
        """ Send the "parsed" text.
        """
        #this is pretty easy since converting HTML to HTML is a no-brainer
        print self.html