lehrkraefte:snr:informatik:glf22:python:listen

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
lehrkraefte:snr:informatik:glf22:python:listen [2022/09/27 12:13]
Olaf Schnürer [Bonusmaterial]
lehrkraefte:snr:informatik:glf22:python:listen [2023/11/21 12:37] (current)
Olaf Schnürer [Modifikation von Listen]
Line 271: Line 271:
   - Gib das 4. Element der Liste aus.   - Gib das 4. Element der Liste aus.
   - Entferne das letzte Element aus der Liste und gib es aus.   - Entferne das letzte Element aus der Liste und gib es aus.
-  - Gib die Liste aus (dies kannst du im Folgenden immer mal machen).+  - Gib die Liste aus (dies kannst du im Folgenden immer mal wieder als Test machen).
   - Füge die Zahlen 17, 42, 15, 42 und 91 hinten an die Liste an.   - Füge die Zahlen 17, 42, 15, 42 und 91 hinten an die Liste an.
   - Lösche das dritte Element aus der Liste und gib es aus.   - Lösche das dritte Element aus der Liste und gib es aus.
Line 335: Line 335:
 quadratzahlen = [x * x for x in range(1, 101)] quadratzahlen = [x * x for x in range(1, 101)]
 </code> </code>
 +<hidden Bemerkung für Mathematiker>
 +Diese "Listenerzeugung mit interner for-loop" ist der mathematischen Notation $\{x^2 \mid x \in \{1, \dots, 100\}\}$ nachempfunden. Sprechweise: "Die Menge aller $x^2$ für $x$ in der Menge der Zahlen von 1 bis 100."
 </hidden> </hidden>
- 
-<hidden Bemerkung für Mathematiker> 
-Die "Listenerzeugung mit interner for-loop" ist der mathematischen Notation $\{x^2 \mid x \in \{1, \dots, 100\}\}$ für die Menge der Quadratzahlen nachempfunden. Sprechweise: "Die Menge aller $x^2$ für $x$ in der Menge der Zahlen von 1 bis 100." 
 </hidden> </hidden>
 </WRAP> </WRAP>
Line 357: Line 356:
 (2) Eine Liste aus 20 Elementen, deren $i$-tes Element die $i$-fache Hintereinanderschreibung des Worts "la" ist (das dritte Element ist beispielsweise der String "lalala"). (Hinweis: Rechnen mit Strings) (2) Eine Liste aus 20 Elementen, deren $i$-tes Element die $i$-fache Hintereinanderschreibung des Worts "la" ist (das dritte Element ist beispielsweise der String "lalala"). (Hinweis: Rechnen mit Strings)
  
-(3) Die Liste aller ganzen Zahlen von 5 bis 20.+(3) Die Liste aller (ganzenZahlen von 5 bis 20.
  
 (4) Die Liste aller Zahlen von 7 bis 97 "mit Schrittweite 10", also die Liste ''[7, 17, 27, 37, 47, 57, 67, 77, 87, 96]''. (4) Die Liste aller Zahlen von 7 bis 97 "mit Schrittweite 10", also die Liste ''[7, 17, 27, 37, 47, 57, 67, 77, 87, 96]''.
Line 439: Line 438:
 ===== Aufgabe: Snake programmieren ===== ===== Aufgabe: Snake programmieren =====
  
-Die Schlange bei Snake bzw. genauer die Liste ihrer Koordinaten ist ein perfektes Beispiel für eine Liste, die modifiziert wird: Vorne wird etwas hinzugefügt, hinten etwas entfernt... +Die Schlange bei Snake bzw. genauer die Liste ihrer Koordinaten ist ein perfektes Beispiel für eine Liste, die modifiziert wird: Vorne wird etwas hinzugefügt, hinten etwas entfernt... Beim Apfel-Essen wird nur etwas hinzugefügt.
  
 <WRAP center round todo> <WRAP center round todo>
Line 515: Line 514:
 s s
 </code> </code>
 +Auch kannst du eine for-Schleife über die Einzelzeichen eines Strings laufen lassen. Dies kannst du auch in der Python-Shell testen, da man dort auch mehrzeilige Befehle eingeben darf (beachte die Einrückung und dass du nach der Eingabe von ''print(z)'' zweimal ''Enter'' drücken musst).
 +<code python>
 +for z in "Hallo":
 +    print(z)
 +</code>
 +
 +=== Zusatzinformationen ===
  
-Hier noch einige nützliche Zusatzinformationen: 
 Du kannst dir eine Liste der "Attribute" des Strings s mit dem folgenden Befehl anzeigen lassen: Du kannst dir eine Liste der "Attribute" des Strings s mit dem folgenden Befehl anzeigen lassen:
 <code python> <code python>
 dir(s) dir(s)
 </code> </code>
-Die in dieser Liste mit einem Unterstrich anfangenden Attribute sind "privat" und sollten nicht verwendet werden. Um die anderen anzeigen zu lassen, gib das folgende ein (eine Erweiterung der obigen Notation für Listen-Erzeugung mit interner for-Schleife um eine if-Bedingung):+Die in dieser Liste mit einem Unterstrich anfangenden Attribute sind "privat" und sollten nicht verwendet werden. Um die anderen anzeigen zu lassen, gib das Folgende ein(Es handelt sich um eine Erweiterung der obigen Notation für "Listen-Erzeugung mit interner for-Schleifeum eine if-Bedingung: Nur diejenigen Elemente werden in die Liste aufgenommen, die die angegebene Bedingung erfüllen.)
 <code python> <code python>
 [befehl for befehl in dir(s) if befehl[0] != "_"] [befehl for befehl in dir(s) if befehl[0] != "_"]
Line 530: Line 535:
 </code> </code>
 </WRAP> </WRAP>
 +
 +===== Listen von Zahlen graphisch darstellen =====
 +
 +<code python saeulendiagramm.py>
 +from matplotlib import pyplot
 +
 +xWerte = [i for i in range(-10, 30)]
 +yWerte = [(x-3)*(x+2)*(x-25) for x in xWerte]
 +pyplot.bar(xWerte, yWerte, color='blue')
 +pyplot.show()
 +</code>
 +
 +<code python graph.py>
 +from matplotlib import pyplot
 +
 +xWerte = [i for i in range(-10, 30)]
 +yWerte = [(x-3)*(x+2)*(x-25) for x in xWerte]
 +pyplot.plot(xWerte, yWerte, color='blue')
 +pyplot.show()
 +</code>
  
 ===== Weiteres Material ===== ===== Weiteres Material =====
  • lehrkraefte/snr/informatik/glf22/python/listen.1664273609.txt.gz
  • Last modified: 2022/09/27 12:13
  • by Olaf Schnürer