Listen

Notizen

  • Im offiziellen Python-Tutorial finden sie u. a. eine kurze Beschreibung der Methoden, die mit Listen-Objekten „mitgeliefert“ werden.

  • Listen lassen sich auch sehr leicht in Textdateien abspeichern: wenn l eine Liste und f ein Textdateiobjekt im Schreibmodus ist (z. B. f = open('my_output.txt','w')), so kann der Inhalt der Liste mit f.writelines(l) in die Datei geschrieben werden. Achtung: Dabei werden nicht automatisch Zeilenumbruchzeichen eingefügt, und alle Listenelemente müssen vom Typ str sein.

  • auch im Buch (Kapitel 14) finden Sie weitere Informationen über den Umgang mit Dateien

Aufgaben bis zum nächsten Mal

  • Lesen Sie Kapitel 11 „Dictionaries“ im Buch!

  • Bearbeiten Sie die folgende Aufgabe 06 und speichern Sie das Ergebnis in Ihrem pythonanywhere-Account! Sie können den nachfolgenden Text der Aufgabenstellung auch direkt in den Editor bei pythonanywhere kopieren. (Muster 06)

    aufgabe_06_diffusion.py
    # Simulieren sie eine eindimensionale Diffusion (bzw. eher das Rieseln von
    # Sand auf einem Haufen). Verwenden sie dazu eine Liste mit 100 ganzen
    # Zahlen, die Partikel repräsentieren. Zu Beginn sind alle Einträge Null,
    # außer bei Index 66 (Wert hier: 2000) und bei Index 33 (Wert hier
    # 1000).
    # 
    # Bei jedem Simulationsschritt wird die Liste aktualisiert nach der
    # folgenden Regel:
    # 
    # Alle Elemente der Liste werden der Reihe nach getestet und mit ihren
    # direkten Nachbarn verglichen. Ist ein Wert mindestens um zwei größer
    # als ein direkter Nachbar, gibt er im nächsten Schritt einen Partikel an
    # diesen Nachbarn ab. Hier ein kleineres Beispiel:
    # 
    # 2 0 0 0 9 0 0 0 6 6 2 (Startkonfiguration)
    # 1 1 0 1 7 1 0 1 5 5 3
    # 1 1 0 2 5 2 0 2 4 4 4
    # 1 1 1 2 3 2 2 2 3 4 4 (nach 3 Schritten ändert sich nichts mehr)
    # 1 1 1 2 3 2 2 2 3 4 4
    # 
    # Nach wie vielen Schritten ändert sich für das 100er-Feld nichts mehr?
    # Wie viele Partikel befinden sich dann bei Index 50?