Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Last revision Both sides next revision | ||
lehrkraefte:snr:informatik:glf22:python:listen [2022/09/27 11:47] Olaf Schnürer [Expertenwissen zur Extraktion von Teilisten] |
lehrkraefte:snr:informatik:glf22:python:listen [2023/01/19 23:26] Olaf Schnürer [Listen von Zahlen graphisch darstellen] |
||
---|---|---|---|
Line 335: | Line 335: | ||
quadratzahlen = [x * x for x in range(1, 101)] | quadratzahlen = [x * x for x in range(1, 101)] | ||
</ | </ | ||
+ | <hidden Bemerkung für Mathematiker> | ||
+ | Diese " | ||
</ | </ | ||
- | |||
- | <hidden Bemerkung für Mathematiker> | ||
- | Die " | ||
</ | </ | ||
</ | </ | ||
Line 357: | Line 356: | ||
(2) Eine Liste aus 20 Elementen, deren $i$-tes Element die $i$-fache Hintereinanderschreibung des Worts " | (2) Eine Liste aus 20 Elementen, deren $i$-tes Element die $i$-fache Hintereinanderschreibung des Worts " | ||
- | (3) Die Liste aller ganzen Zahlen von 5 bis 20. | + | (3) Die Liste aller (ganzen) Zahlen von 5 bis 20. |
(4) Die Liste aller Zahlen von 7 bis 97 "mit Schrittweite 10", also die Liste '' | (4) Die Liste aller Zahlen von 7 bis 97 "mit Schrittweite 10", also die Liste '' | ||
Line 419: | Line 418: | ||
====== Bonusmaterial ====== | ====== Bonusmaterial ====== | ||
+ | |||
+ | ===== Aufgabe: Sieb des Eratosthenes ===== | ||
+ | |||
+ | <WRAP round todo> | ||
+ | Schreibe ein Programm, das mit Hilfe des [[https:// | ||
+ | |||
+ | <hidden Hinweis> | ||
+ | Das Programm geht beispielsweise so los: | ||
+ | <code python> | ||
+ | n = 1000000 | ||
+ | prim = [True for i in range(n + 1)] | ||
+ | prim[0] = False | ||
+ | prim[1] = False | ||
+ | </ | ||
+ | Solange '' | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | ===== 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, | ||
+ | |||
+ | <WRAP center round todo> | ||
+ | Snake weiterprogrammieren! | ||
+ | |||
+ | (Verwende etwa die Musterlösung zum " | ||
+ | </ | ||
===== Expertenwissen zur Extraktion von Teilisten ===== | ===== Expertenwissen zur Extraktion von Teilisten ===== | ||
Line 460: | Line 486: | ||
Achtung beim Kopieren von Listen: Da können Dinge passieren, die man auf den ersten Blick nicht erwartet! | Achtung beim Kopieren von Listen: Da können Dinge passieren, die man auf den ersten Blick nicht erwartet! | ||
- | Hier ist der Link zu meinen alten Erklärungen dazu: https:// | + | Hier ist der Link zu meinen alten Erklärungen dazu (wird eventuell bald verbessert): https:// |
</ | </ | ||
Line 488: | Line 514: | ||
s | s | ||
</ | </ | ||
+ | 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 '' | ||
+ | <code python> | ||
+ | for z in " | ||
+ | print(z) | ||
+ | </ | ||
+ | |||
+ | === Zusatzinformationen === | ||
- | Hier noch einige nützliche Zusatzinformationen: | ||
Du kannst dir eine Liste der " | Du kannst dir eine Liste der " | ||
<code python> | <code python> | ||
dir(s) | dir(s) | ||
</ | </ | ||
- | Die in dieser Liste mit einem Unterstrich anfangenden Attribute sind " | + | Die in dieser Liste mit einem Unterstrich anfangenden Attribute sind " |
<code python> | <code python> | ||
[befehl for befehl in dir(s) if befehl[0] != " | [befehl for befehl in dir(s) if befehl[0] != " | ||
Line 502: | Line 534: | ||
s.upper() | s.upper() | ||
</ | </ | ||
- | |||
</ | </ | ||
+ | ===== 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, | ||
+ | pyplot.show() | ||
+ | </ | ||
+ | |||
+ | <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, | ||
+ | pyplot.show() | ||
+ | </ | ||
+ | |||
+ | ===== Weiteres Material ===== | ||
+ | |||
+ | Siehe etwa die Erklärungen (und Quizzes) zu Listen und Strings auf https:// | ||
+ | |||
+ | ===== Verwandte Datenstrukturen: | ||
+ | |||
+ | Neben Listen gibt es auch Tupel, Mengen und Wörterbücher in Python, siehe etwa | ||
+ | |||
+ | * https:// | ||
+ | * https:// | ||
+ | * https:// | ||
- | ====== To be added somewhere ====== | ||
- | <WRAP round todo> | ||
- | Schreibe ein Programm, das mit Hilfe des [[https:// | ||
- | Gib Hilfe: Nimm Liste von Booleans! | ||
- | </ | ||
- | <WRAP center round todo> | ||
- | Snake weiterprogrammieren! | ||
- | </ | ||