Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
lehrkraefte:snr:informatik:glf22:python:snake [2023/01/27 10:28] Olaf Schnürer [Aufgabe: Ein Snake-Programm in Grundzügen verstehen] |
lehrkraefte:snr:informatik:glf22:python:snake [2023/02/14 20:01] (current) Olaf Schnürer [Richtung Snake: Listen in Python] |
||
---|---|---|---|
Line 1: | Line 1: | ||
~~NOTOC~~ | ~~NOTOC~~ | ||
+ | |||
+ | Online programmieren über dieses trinket... funktioniert nicht sinnvoll: Tastendrücke werden nicht (oder sehr spät) erkannt, f-strings klappen nicht (was nicht so schlimm wäre), Grösse des Spielfeldes muss man anpassen, damit alles angezeigt wird. Letzteres Problem auch bei manch kleinem Laptop-Bildschirm. | ||
==== Eventuelle Nachträge ==== | ==== Eventuelle Nachträge ==== | ||
Line 156: | Line 158: | ||
<code python listen-demo.py> | <code python listen-demo.py> | ||
# Beispiel 1: | # Beispiel 1: | ||
- | # Top 5 der Vornamen in der italienschen | + | # Top 5 der Vornamen in der italienischen |
- | namens_liste | + | namensliste |
- | print(namens_liste) | + | print(namensliste) |
- | print(namens_liste[3]) | + | print(namensliste[3]) |
- | print(namens_liste[0]) | + | print(namensliste[0]) |
- | namens_liste[2] = ' | + | namensliste[3] = ' |
- | print(" | + | print(namensliste) |
- | print(" | + | print(" |
- | print(len(namens_liste)) | + | print(" |
- | for name in namens_liste: | + | print(len(namensliste)) |
+ | for name in namensliste: | ||
print(' | print(' | ||
- | print(len(namens_liste)) | + | namensliste.insert(0, ' |
- | namens_liste.insert(0, 'Nathan') | + | print(namensliste) |
- | namens_liste.pop() | + | namensliste.insert(3, 'Ephraim') |
- | print(namens_liste) | + | print(namensliste) |
- | print(namens_liste[2:6]) | + | namensliste.pop() |
+ | print(namensliste) | ||
+ | namensliste.pop(2) | ||
+ | print(namensliste) | ||
+ | print(namensliste[1:3]) | ||
# Beispiel 2: | # Beispiel 2: | ||
Line 178: | Line 185: | ||
for note in notenliste: | for note in notenliste: | ||
summe = summe + note | summe = summe + note | ||
- | print(f' | + | print(summe / len(notenliste)) |
# Beispiel 3: | # Beispiel 3: | ||
Line 185: | Line 192: | ||
while liste_der_wuerfe[0: | while liste_der_wuerfe[0: | ||
liste_der_wuerfe.insert(0, | liste_der_wuerfe.insert(0, | ||
- | print(liste_der_wuerfe) | + | print(liste_der_wuerfe) |
</ | </ | ||
</ | </ | ||
Line 193: | Line 200: | ||
Ausserdem sollte man verstehen, warum eine Liste die naheliegende Datenstruktur für Snake ist (verbale Erklärung mit Snake-Beispielprogramm, | Ausserdem sollte man verstehen, warum eine Liste die naheliegende Datenstruktur für Snake ist (verbale Erklärung mit Snake-Beispielprogramm, | ||
+ | <hidden Tafelfoto dazu> | ||
+ | {{lehrkraefte: | ||
+ | </ | ||
===== Aufgabe: Ein Snake-Programm in Grundzügen verstehen ===== | ===== Aufgabe: Ein Snake-Programm in Grundzügen verstehen ===== | ||
<WRAP center round todo> | <WRAP center round todo> | ||
- | Hist ist ein Link zu einem in '' | + | Hist ist ein Link zu einem in '' |
+ | |||
+ | (Zusammen | ||
* [[lehrkraefte: | * [[lehrkraefte: | ||
Line 209: | Line 221: | ||
Hinweis: Es sind nur wenige Änderungen innnerhalb der "game loop" (ab Zeile 171) nötig. | Hinweis: Es sind nur wenige Änderungen innnerhalb der "game loop" (ab Zeile 171) nötig. | ||
- | <hidden Für diejenigen, die Online programmieren (da dort f-strings wohl nicht funktionieren):> | + | <hidden Für diejenigen, die Online programmieren (da dort f-strings wohl nicht funktionieren; hier sind noch diverse auskommentierte Sachen einzukommentieren - bitte mich fragen; erfahrungsgemäss ist die Tastatureingabe online so langsam, dass es keinen Spass macht.):> |
<code python snake-zu-verbessern-fuer-online> | <code python snake-zu-verbessern-fuer-online> | ||
import pygame | import pygame |