Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
gf_informatik:karatutorial:variablen [2026-08-30 18:41] hofgf_informatik:karatutorial:variablen [2026-09-03 20:22] (aktuell) – [Aufgabe E3: Tunnellänge messen] hof
Zeile 19: Zeile 19:
 {{ :gf_informatik:karatutorial:variablen_korpus.jpg?nolink&400|}} {{ :gf_informatik:karatutorial:variablen_korpus.jpg?nolink&400|}}
  
-Variablen sind benannte Speicherbereiche, in denen ein Wert gespeichert wird. Stell dir eine Variable vor wie ein Postfach oder eine Schublade. Werte haben einen Typ (z.B. Zahl oder Text).+Variablen sind benannte Speicherbereiche, in denen ein Wert gespeichert wird. Stell dir eine Variable vor wie eine Schublade, die mit ihrem Namen angeschrieben sind. Werte haben einen Typ (z.B. Zahl oder Text).
  
 Im Beispiel: Im Beispiel:
-  * `count = 0` deklariert eine neue _Variable_ und setzt deren Wert auf die Zahl `0`. +  * `count = 0` setzt den _Wert_ der _Variable_ `count` auf die Zahl `0`. 
-  * `count = count + 1` setzt den Wert der Variable `count` auf den Wert der Variable *vor* der Zuweisung plus 1. +  * `count = count + 1` erhöht den Wert der Variable `count` um 1.
  
 #### Variablennamen #### Variablennamen
   * Variablennamen beginnen mit einem Buchstaben und können beliebige weitere Buchstaben und Zahlen und `_` enthalten, aber keine Leerschläge oder Satzzeichen. Wir verwenden Kleinbuchstaben (obwohl Python auch Grossbuchstaben zulässt).   * Variablennamen beginnen mit einem Buchstaben und können beliebige weitere Buchstaben und Zahlen und `_` enthalten, aber keine Leerschläge oder Satzzeichen. Wir verwenden Kleinbuchstaben (obwohl Python auch Grossbuchstaben zulässt).
-    * OK: `count`, `meine_variable`, `wert3`+    * OK: `count`, `ninety_nine_balloons`, `wert3`
     * Ungültig: `99_luftballons`, `mein name`, `eins,zwei`     * Ungültig: `99_luftballons`, `mein name`, `eins,zwei`
     * Gültig, aber nicht empfohlen: `Name`, `SIZE`, `ninetyNineBalloons`     * Gültig, aber nicht empfohlen: `Name`, `SIZE`, `ninetyNineBalloons`
Zeile 35: Zeile 34:
 #### Typen #### Typen
 Jeder Python-Ausdruck (und damit jede Variable und jeder Wert) hat einen Typ: Jeder Python-Ausdruck (und damit jede Variable und jeder Wert) hat einen Typ:
-  * Ganzzahlen (`int` von _en._ integer):+  * Ganzzahlen (`int` von _en._ _integer_):
     * zum Beispiel `3`, `67`, `-13`     * zum Beispiel `3`, `67`, `-13`
     * Python kennt alle Grundoperationen: `+`, `-`, `*` und `/`.     * Python kennt alle Grundoperationen: `+`, `-`, `*` und `/`.
-  * Texte (`string`von _en._ Zeichenkette)+  * Texte (`str`von _en._ _string_: Zeichenkette)
     * Ein String-Wert wird mit `'einfachen'` oder `"doppelten"` Anführungszeichen erzeugt.      * Ein String-Wert wird mit `'einfachen'` oder `"doppelten"` Anführungszeichen erzeugt. 
-  * Booleans (Logikwerte):+  * Booleans (Logikwerte, `bool`):
     * `True` oder `False`     * `True` oder `False`
 +  * Objekte
 +    * Unsere `kara` ist ebenfalls eine Variable des Typs `object`: Objekte enthalten Eigenschaften (z.B. Karas Position) und Funktionen (z.B. `move()`).
  
 ### Ausgabe ### Ausgabe
  
-Mit `print(count, 'Blätter')` können ein oder mehrere Werte auf der Konsole ausgegeben werden. Als _Argumente_ für `print` können wir Variablen (`count`), Werte (`'Blätter'`) oder komplexere Ausdrücke (`count + 1`) angeben. +Mit `print(count, 'Blätter')` können ein oder mehrere Werte auf der Konsole ausgegeben werden. Als _Argumente_ für `print` können wir Variablen (`count`), Werte (`'Blätter'`) oder komplexere Ausdrücke (`count + 1`) angeben. 
 +#### Aufgabe E1: Blätter-Prozente
  
-#### Aufgabe E1: Blätter zählen+Erweitere den Code von oben und zähle zusätzlich zur Anzahl Blätter auch die Anzahl Felder. Gib am Schluss der Prozentsatz der Felder aus, die ein Blatt enthalten. Nutze dafür Division (`/`) und Multiplikation (`*`)!  
 + 
 +<kara-exercise id="leaf_percentage" hidesolution> 
 +<kara-world> 
 +TTTTTTTTTTTT 
 +T>  LLL L  T 
 +TTTTTTTTTTTT 
 +</kara-world> 
 +count = 0 
 +while not kara.treeFront(): 
 +    if kara.onLeaf(): 
 +        count = count + 1 
 +    kara.move() 
 +print(count, 'Blätter'
 +<kara-solution> 
 +count = 0 
 +cells = 1 
 +while not kara.treeFront(): 
 +    cells = cells + 1 
 +    if kara.onLeaf(): 
 +        count = count + 1 
 +    kara.move() 
 +percent = count / cells * 100 
 +print(percent, '% Blätter'
 +</kara-solution> 
 +<kara-tests> 
 +assert "40" in output_lines()[-1] 
 +</kara-tests> 
 +</kara-exercise> 
 + 
 +#### Aufgabe E2: Blätter zählen
 Schreibe Python Code wie folgt: Schreibe Python Code wie folgt:
   * Kara soll weiterlaufen, solange kein Pilz vor ihr ist.   * Kara soll weiterlaufen, solange kein Pilz vor ihr ist.
     * Trifft sie auf einen Baum:     * Trifft sie auf einen Baum:
-      * gib Kara `turning!` aus+      * gibt Kara `turning!` aus
       * und wendet nach rechts       * und wendet nach rechts
     * Ist Kara auf einem Blatt:     * Ist Kara auf einem Blatt:
Zeile 91: Zeile 123:
 </kara-tests> </kara-tests>
 </kara-exercise> </kara-exercise>
- +#### Aufgabe E3: Tunnellänge messen
-#### Aufgabe E2: Tunnellänge messen+
 Schreibe Python-Code, um die Länge des Tunnels zu messen. Ein Tunnel ist definiert als eine gerade Strecke, bei der links **und** rechts ein Baum steht. Am Ende eines Tunnels wird die Länge auf der Konsole ausgegeben. Kara stoppt, wenn Sie auf einen Baum trifft. Schreibe Python-Code, um die Länge des Tunnels zu messen. Ein Tunnel ist definiert als eine gerade Strecke, bei der links **und** rechts ein Baum steht. Am Ende eines Tunnels wird die Länge auf der Konsole ausgegeben. Kara stoppt, wenn Sie auf einen Baum trifft.
  
Zeile 104: Zeile 135:
    TTTTTTTTTTTTTTTTTTTTT    TTTTTTTTTTTTTTTTTTTTT
                      T                      T
-     TTT   TTTTTT TT T+     TTT   TTTTTT  TTT
    T>                  T    T>                  T
-        TTTTT TTTTT  T+        TTTTTTTTTTT  T
                      T                      T
    TTTTTTTTTTTTTTTTTTTTT    TTTTTTTTTTTTTTTTTTTTT
Zeile 116: Zeile 147:
         length = length + 1         length = length + 1
         kara.putLeaf()  # optional         kara.putLeaf()  # optional
-    else: 
-        if length > 0: 
-            print("Länge", length) 
-        length = 0 
     kara.move()     kara.move()
 +print(length)
 </kara-solution> </kara-solution>
 <kara-tests> <kara-tests>
-assert "2" in output_lines()[-3] +assert "6" in output_lines()[-1]
-assert "3" in output_lines()[-2] +
-assert "1" in output_lines()[-1]+
 </kara-tests> </kara-tests>
 </kara-exercise> </kara-exercise>
  • gf_informatik/karatutorial/variablen.1788115303.txt.gz
  • Zuletzt geändert: 2026-08-30 18:41
  • von hof