lehrkraefte:snr:informatik:glf22:python:listen-altes-material

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-altes-material [2022/09/26 18:43]
Olaf Schnürer [Schleifen über Listen]
lehrkraefte:snr:informatik:glf22:python:listen-altes-material [2022/09/26 20:44] (current)
Olaf Schnürer
Line 5: Line 5:
  
  
-===== Extraktion von Teil-Listen ===== 
- 
-<WRAP round todo> 
-Der folgende Code illustriert, wie man Teillisten einer Liste bekommt. Versuche, die Syntax zu verstehen! Sie ist ähnlich wie beim ''range''-Befehl. 
-<code python> 
-schuelerliste = ["Anna", "Berta", "Charly", "Daniel", "Emil", "Ida", "Berta"] 
-a = schuelerliste[1:4] 
-print(a) 
-b = schuelerliste[:4]  
-# Lässt man den ersten Parameter weg, wird dieser also automatisch auf ... gesetzt. 
-print(b)  
- 
-c = schuelerliste[2: 
-# Lässt man den zweiten Parameter weg, wird dieser automatisch auf ... gesetzt. 
-print(c) 
- 
-d = schuelerliste[:] 
-# Lässt man beide Parameter weg, so werden diese automatisch auf ... und ... gesetzt. 
-# Dies ist nützlich, um eine Kopie der Liste zu erstellen, vgl. die Diskussion unten, wo wir erklären, dass Listen //mutabel// sind. 
-print(d) 
- 
-# Die beiden Parameter dürfen auch negativ sein! Was bewirkt das? Hinweis: Zähle vom Ende der Liste! 
-e = schuelerliste[-4:-1] 
-print(e)  
- 
-# Auch ein dritter Parameter ist erlaubt (als Schrittweite). 
-f = schuelerliste[0:5:2] 
-print(f)  
- 
-</code> 
-Expertenwissen: 
-Sogar negative Schrittweiten sind erlaubt. 
-<code python> 
-g = schuelerliste[6:2:-1] 
-print(g) 
-</code> 
-Um die Reihenfolge der Elemente einer Liste umzukehren, ist die folgende Syntax erlaubt. 
-<code python> 
-h = schuelerliste[::-1]  
-# Beachte hier, dass die weggelassenen beiden ersten Parameter hier nicht wie oben durch ... und ... ersetzt werden, 
-# sondern auf Grund der negativen Schrittweite durch ... und ... 
-print(h) 
-</code> 
-</WRAP> 
- 
-<WRAP round todo> 
-Oben hast du ein Programm geschrieben, dass nur jeden zweiten Namen aus einer Liste ausgibt. Das geht mit dem neuen Wissen deutlich kürzer! Wie? 
-</WRAP> 
- 
- 
-===== Modifikation von Listen ===== 
- 
-<WRAP round todo> 
-Der folgende Code illustriert, wie man eine Liste modifizieren kann! Versuche herauszubekommen, was jeder Befehl bewirkt! 
-<code python> 
-schuelerliste = ["Anna", "Berta", "Charly", "Daniel", "Emil", "Ida", "Berta"] 
-schuelerliste[2] = "Carl" 
-print(schuelerliste) 
-schuelerliste.append("Friedrich") 
-print(schuelerliste) 
-schuelerliste.append("Marie") 
-print(schuelerliste) 
-name = schuelerliste.pop(3) 
-print(name) 
-print(schuelerliste) 
-name = schuelerliste.pop() 
-print(name) 
-print(schuelerliste) 
-schuelerliste.insert(2, "Gustav") 
-print(schuelerliste) 
-x = schuelerliste.index("Carl") 
-print(x) 
-print(schuelerliste) 
-schuelerliste.remove("Carl") 
-print(schuelerliste) 
-schuelerliste.sort() 
-print(schuelerliste) 
-schuelerliste.reverse() 
-print(schuelerliste) 
-</code> 
-Beachte die neue Syntax: (Name der Liste) + Punkt + Funktionsaufruf! Solche Funktionsaufrufe verändern bisweilen nur die Liste (wie ''insert'') bisweilen verändern sie die Liste und liefern einen Rückgabewert (wie ''pop'').  
-</WRAP> 
- 
-<WRAP round todo> 
-Schreibe ein Programm, welches den Benutzer nach Zahlen fragt und diese in einer Liste speichert. Wenn der Benutzer anstelle einer Zahl den Buchstaben ''q'' eingibt, soll die gesamte Liste ausgegeben werden und das Programm soll enden. 
- 
-Hinweis: Verwende eine ''while''-Schleife. Verwende den Befehl ''input'' statt ''inputString'' oder ''inputInt'', damit sowohl Zahlen als auch Buchstaben als Eingabe akzeptiert werden. 
-</WRAP> 
- 
-===== Was Listen alles enthalten können ===== 
- 
-<WRAP round info> 
-Listen sind sehr flexible Datenstrukturen: Sie können als Elemente verschiedene Datentypen (Integers/ganze Zahlen; Strings/Zeichenketten; Boolesche Werte/Wahrheitswerte etc.) enthalten; Elemente können sogar selbst Listen sein: 
-<code python> 
-seltsameliste = ["Anna", 2, "Charly", True, [1, 2, False, "Hallo"]] 
-print(seltsameliste) 
-print(seltsameliste[4]) 
-print(seltsameliste[4][2]) 
-</code> 
-</WRAP> 
- 
-===== Listen erzeugen ===== 
- 
-<WRAP round todo> 
-Verstehe die folgenden Befehle! 
-<code python> 
-zahlen = list(range(10)) 
-print(zahlen) 
-zahlen2 = list(range(10, 30, 3)) 
-print(zahlen2) 
- 
-zahlen3 = [x*x for x in zahlen] 
-print(zahlen3) 
-</code> 
-</WRAP> 
- 
-<WRAP round todo> 
-Schreibe ein Programm, das mit Hilfe des [[https://de.wikipedia.org/wiki/Sieb_des_Eratosthenes|Siebs des Eratosthenes]] eine Liste aller Primzahlen bis zu einer gegebenen Grenze ''n'' ausgibt. 
-</WRAP> 
  
 ===== Listen sind mutabel/veränderlich (englisch mutable) ===== ===== Listen sind mutabel/veränderlich (englisch mutable) =====
  • lehrkraefte/snr/informatik/glf22/python/listen-altes-material.1664210626.txt.gz
  • Last modified: 2022/09/26 18:43
  • by Olaf Schnürer