Zurück zur StartseiteInformatik · Realschule 9 · Fach wechseln
Kostenlos starten
Realschule 9 · Informatik
Programmierung und Robotik · Textuelle Programmierung

Textuelle Programmierung mit Python

Auf dem Schulfest soll ein kleines Programm den Preis für Waffeln und Apfelschorle berechnen. Ein Computer macht dabei genau das, was im Quelltext steht – nicht mehr und nicht weniger. Wie schreibst du Anweisungen so genau, dass er sie richtig ausführt? Das lernst du hier mit Python.

Variablen, Datentypen, Eingabe und Ausgabe

Variable als beschriftete Kiste: Drei Zeilen Quelltext legen die Kiste punkte mit einer 0 an, addieren 1 und geben den Wert auf dem Bildschirm aus. Quelltext 1 punkte = 0 2 punkte = punkte + 1 3 print(punkte) Variable (Kiste) punkte 0 → 1 speichert 0 liest, +1, speichert 1 Bildschirm

Das = in Python ist also keine Gleichung, sondern eine Zuweisung: Der Wert rechts wird berechnet und in die Variable links gespeichert. Deshalb ist punkte = punkte + 1 kein Widerspruch.

Üben★☆☆Nicht begonnen
Erkläre, was eine Variable ist, mit dem Vergleich einer beschrifteten Kiste, und beschreibe, was jede Zeile macht: puntos = 0, puntos = puntos + 1, print(puntos).…

Erkläre, was eine Variable ist, mit dem Vergleich einer beschrifteten Kiste, und beschreibe, was jede Zeile macht: puntos = 0, puntos = puntos + 1, print(puntos). Welcher Wert erscheint auf dem Bildschirm, und warum ist es kein Fehler, zu einer Variable etwas zu addieren, die „schon einen Wert hatte“?

Lösen
Üben★☆☆Nicht begonnen
Ordne diese Werte nach ihrem Datentyp (ganze Zahl, Dezimalzahl, Text oder Boolean) und gib für jeden Typ ein Anwendungsbeispiel in einem Programm für einen Laden an: 13,…

Ordne diese Werte nach ihrem Datentyp (ganze Zahl, Dezimalzahl, Text oder Boolean) und gib für jeden Typ ein Anwendungsbeispiel in einem Programm für einen Laden an: 13, 3,75, "Anna", True.

Lösen
Üben★☆☆Nicht begonnen
Erkläre, was die Befehle input() und print() in Python machen, welcher Unterschied zwischen ihnen besteht, und schreibe ein Programm aus zwei Zeilen, das nach deinem…

Erkläre, was die Befehle input() und print() in Python machen, welcher Unterschied zwischen ihnen besteht, und schreibe ein Programm aus zwei Zeilen, das nach deinem Namen fragt und dich damit begrüßt.

Lösen
Üben★★☆Nicht begonnen
Sage die Ausgabe dieses Programms voraus, ohne es auszuführen, indem du den Wert der Variablen Zeile für Zeile verfolgst: a = 4, b = 3, a = a + b, b = a - b, print(a),…

Sage die Ausgabe dieses Programms voraus, ohne es auszuführen, indem du den Wert der Variablen Zeile für Zeile verfolgst: a = 4, b = 3, a = a + b, b = a - b, print(a), print(b). Schreibe die vollständige Ablaufverfolgung auf (welchen Wert jede Variable nach jeder Zeile hat) und nicht nur das Ergebnis.

Lösen
Üben★★☆Nicht begonnen
Schreibe ein Programm aus drei Zeilen, das nach dem Namen und dem Alter einer Person fragt und mit beiden einen vollständigen Satz ausgibt (zum Beispiel „Mei ist 14…

Schreibe ein Programm aus drei Zeilen, das nach dem Namen und dem Alter einer Person fragt und mit beiden einen vollständigen Satz ausgibt (zum Beispiel „Mei ist 14 Jahre alt“). Erkläre, welchen Datentyp input() immer zurückgibt und wozu int() beim Abfragen des Alters dient.

Lösen

Verzweigungen: `if`, `elif`, `else`

Alltagsbeispiel: Wenn es regnet, nehme ich den Regenschirm, sonst die Sonnenbrille.

Python-Quelltext mit if und else: Ist alter größer oder gleich 12, erscheint „Du darfst“, sonst „Noch nicht“. Die Zeilen der Blöcke sind eingerückt. alter = int(input("Alter: ")) if alter >= 12: print("Du darfst") else: print("Noch nicht") ← Bedingung wenn wahr ← sonst wenn falsch ohne Einrückung
Üben★☆☆Nicht begonnen
Die Abbildung zeigt einen Programmablaufplan und daneben das Programm, das dasselbe macht, aber mit verdeckter Bedingung. Schreibe die fehlende Bedingung in die if-Zeile…

Die Abbildung zeigt einen Programmablaufplan und daneben das Programm, das dasselbe macht, aber mit verdeckter Bedingung.

Start Alter abfragen Alter ≥ 12? ja du darfst teilnehmen nein es fehlt nicht mehr viel edad = int(input("Alter: ")) if ?: print("Du darfst") else: print("Noch nicht")

Schreibe die fehlende Bedingung in die if-Zeile (sie muss die Variable edad mit $12$ vergleichen), erkläre, was int(input("Alter: ")) macht, und warum die Zeilen innerhalb von if und else nach rechts eingerückt sind.

Lösen
Üben★☆☆Nicht begonnen
Erkläre, was eine Verzweigung ist, anhand eines Beispiels aus deinem Alltag (wenn es regnet, nehme ich den Regenschirm; sonst die Sonnenbrille), und schreibe sie in drei…

Erkläre, was eine Verzweigung ist, anhand eines Beispiels aus deinem Alltag (wenn es regnet, nehme ich den Regenschirm; sonst die Sonnenbrille), und schreibe sie in drei Zeilen Pseudocode: Bedingung, was passiert, wenn sie erfüllt ist, und was passiert, wenn nicht.

Lösen
Üben★★☆Nicht begonnen
Schreibe ein Programm, das nach einer Zahl fragt und sagt, ob sie positiv, negativ oder null ist. Gib an, welche Struktur du verwendest (eine Verzweigung mit zwei oder…

Schreibe ein Programm, das nach einer Zahl fragt und sagt, ob sie positiv, negativ oder null ist. Gib an, welche Struktur du verwendest (eine Verzweigung mit zwei oder drei Zweigen), welche Vergleiche du machst, und teste es gedanklich mit den Werten $7$, $-3$ und $0$.

Lösen
Üben★★☆Nicht begonnen
Ein Programm wandelt die Zahlennote in eine Bewertung um: weniger als $5$ ist „durchgefallen“, von $5$ bis $6{,}9$ ist „bestanden“ und ab $7$ ist „gut“. Schreibe es mit…

Ein Programm wandelt die Zahlennote in eine Bewertung um: weniger als $5$ ist „durchgefallen“, von $5$ bis $6{,}9$ ist „bestanden“ und ab $7$ ist „gut“. Schreibe es mit if, elif und else, erkläre, warum die Reihenfolge der Bedingungen wichtig ist und was passieren würde, wenn die erste Bedingung nota > 5 wäre.

Lösen
Üben★★★Nicht begonnen
Ein Laden wendet folgende Regelung an: Einkäufe unter $30\ \text{€}$ zahlen $4{,}50\ \text{€}$ Versand; Einkäufe zwischen $30\ \text{€}$ und $50\ \text{€}$ haben…

Ein Laden wendet folgende Regelung an: Einkäufe unter $30\ \text{€}$ zahlen $4{,}50\ \text{€}$ Versand; Einkäufe zwischen $30\ \text{€}$ und $50\ \text{€}$ haben kostenlosen Versand; Einkäufe über $50\ \text{€}$ haben kostenlosen Versand und $10\ \%$ Rabatt auf den Einkaufspreis.

Ein Schüler hat diesen Code programmiert:

precio = float(input("Einkaufssumme: "))

if precio > 50:

    total = precio * 0.90

if precio >= 30:

    total = precio

else:

    total = precio + 4.50

print("Zu zahlen:", total)
  1. a) Führe die Ablaufverfolgung mit einem Einkauf von $60{,}00\ \text{€}$ durch. Welchen Endpreis gibt das Programm aus? Begründe, warum dieser Logikfehler beim Aneinanderreihen der Verzweigungen entsteht.
  2. b) Schreibe das Programm korrekt neu, indem du eine verschachtelte Verzweigung oder elif verwendest, und baue eine Überprüfung ein, die warnt, wenn ein negativer Preis oder null eingegeben wird.
Lösen

Schleifen: `for` und `while`

Beispiele: Zehn Runden um den Schulhof laufen ist eine for-Schleife. Rudern, bis man das Ufer erreicht, ist eine while-Schleife.

Vergleich von for- und while-Schleife: links zehn feste Durchläufe mit print(3 * i), rechts eine Schleife, die n von 5 herunterzählt, bis n gleich 0 ist. for: feste Anzahl for i in range(10): print(3 * i) 10 Durchläufe, i = 0, 1, …, 9 while: solange … n = 5 while n > 0: print(n) n = n - 1 Ausgabe: 5 4 3 2 1
Üben★☆☆Nicht begonnen
Erkläre den Unterschied zwischen einer for-Schleife (eine bekannte Anzahl von Malen wiederholen) und einer while-Schleife (wiederholen, solange eine Bedingung erfüllt…

Erkläre den Unterschied zwischen einer for-Schleife (eine bekannte Anzahl von Malen wiederholen) und einer while-Schleife (wiederholen, solange eine Bedingung erfüllt ist), und gib für jede ein Alltagsbeispiel an: zehn Runden um den Schulhof laufen im Vergleich dazu, so lange weiterzurudern, bis man das Ufer erreicht.

Lösen
Üben★★☆Nicht begonnen
Schreibe eine for-Schleife, die das Einmaleins der $3$ (von $3 \cdot 1$ bis $3 \cdot 10$) ausgibt, gib an, wie oft der Schleifenkörper durchlaufen wird, und erkläre, was…

Schreibe eine for-Schleife, die das Einmaleins der $3$ (von $3 \cdot 1$ bis $3 \cdot 10$) ausgibt, gib an, wie oft der Schleifenkörper durchlaufen wird, und erkläre, was du ändern würdest, um das Einmaleins der $7$ auszugeben, ohne das ganze Programm neu zu schreiben.

Lösen
Üben★★☆Nicht begonnen
Lies dieses Programm und erkläre, was es macht: n = 5, while n > 0:, print(n), n = n - 1, und am Ende print("Fertig!"). Schreibe die vollständige Ausgabe auf dem…

Lies dieses Programm und erkläre, was es macht: n = 5, while n > 0:, print(n), n = n - 1, und am Ende print("Fertig!"). Schreibe die vollständige Ausgabe auf dem Bildschirm auf und überlege, was passieren würde, wenn wir die Zeile n = n - 1 vergessen.

Lösen
Üben★★☆Nicht begonnen
Ein Mitschüler schreibt ein Programm, das so lange nach Passwörtern fragt, bis das richtige eingegeben wird: clave = "", while clave != "sol":, und darin nur…

Ein Mitschüler schreibt ein Programm, das so lange nach Passwörtern fragt, bis das richtige eingegeben wird: clave = "", while clave != "sol":, und darin nur print("falsch"). Erkläre, warum das Programm nie endet, welche Zeile in der Schleife fehlt (das Passwort erneut abfragen) und die allgemeine Regel für while-Schleifen: Etwas muss die Bedingung ändern können.

Lösen
Üben★★★Nicht begonnen
Um die Qualifizierten eines Robotikwettbewerbs auszuwählen, werden fünf Punktzahlen eingelesen (von $0$ bis $10$). Ein Mitschüler hat diesen Code vorgeschlagen, um zu…

Um die Qualifizierten eines Robotikwettbewerbs auszuwählen, werden fünf Punktzahlen eingelesen (von $0$ bis $10$). Ein Mitschüler hat diesen Code vorgeschlagen, um zu zählen, wie viele gleich $5{,}0$ oder größer sind:

aprobados = 0

for i in range(5):

    nota = float(input("Note eingeben: "))

    if nota >= 5:

        aprobados = aprobados + 1

    else:

        aprobados = 0

print("Bestanden insgesamt:", aprobados)
  1. a) Sage voraus, was auf dem Bildschirm ausgegeben wird, wenn der Benutzer nacheinander die Noten $6{,}0$, $8{,}0$, $4{,}0$, $9{,}0$ und $7{,}0$ eingibt. Begründe, warum das Endergebnis nicht das erwartete ist, indem du den Logikfehler in der Verzweigungsstruktur findest.
  2. b) Korrigiere den Code und ändere ihn so, dass fehlerhafte Noten (kleiner als $0$ oder größer als $10$) nicht mitgezählt werden, und gib eine eigene Warnmeldung aus, ohne den Zähler zu erhöhen oder zurückzusetzen.
Lösen
Üben★★★Nicht begonnen
Beim Spiel „Eine geheime Zahl von $1$ bis $100$ erraten“ behauptet dein Mitschüler: „Mit einer Schleife mit fester Versuchszahl kann man unmöglich garantieren, dass der…

Beim Spiel „Eine geheime Zahl von $1$ bis $100$ erraten“ behauptet dein Mitschüler: „Mit einer Schleife mit fester Versuchszahl kann man unmöglich garantieren, dass der Benutzer die Zahl errät; wir müssen immer eine Endlos-while-Schleife verwenden, bis er richtig rät.“

  1. a) Widerlege seine Behauptung: Begründe mathematisch, warum $7$ Versuche ausreichen, um mit voller Sicherheit jede Zahl zwischen $1$ und $100$ zu erraten, wenn eine binäre Suche als Strategie verwendet wird (immer nach der Mitte fragen).
  2. b) Entwirf das Spiel in Python oder Pseudocode mit einer Grenze von $7$ Leben. Das Programm muss sowohl anhalten, wenn der Benutzer vor dem Aufbrauchen der Versuche richtig rät, als auch, wenn er keine Leben mehr hat, und dabei unterschiedliche Abschlussmeldungen ausgeben. Begründe die logische Abbruchbedingung, die du gewählt hast.
Lösen

Funktionen: Modularisierung

Funktion als Maschine: area_quadrat erhält 5 und liefert 25, erhält 2,5 und liefert 6,25; daneben die Quadrate mit Seitenlänge 5 und 2,5. Aufruf Ergebnis def area_quadrat(seite): return seite * seite area_quadrat(5) area_quadrat(2,5) 25 5 · 5 6,25 2,5 · 2,5
Üben★☆☆Nicht begonnen
Erkläre, was eine Funktion in einem Programm ist und welchen Vorteil es hat, def saludar(): einmal zu schreiben und sie dann oft aufrufen zu können, statt dieselben…

Erkläre, was eine Funktion in einem Programm ist und welchen Vorteil es hat, def saludar(): einmal zu schreiben und sie dann oft aufrufen zu können, statt dieselben Zeilen immer wieder zu kopieren.

Lösen
Üben★★☆Nicht begonnen
Analysiere diese Funktion: def area_cuadrado(lado): und darin return lado * lado. Erkläre, was der Parameter ist, was der Rückgabewert ist und was jeder Aufruf auf dem…

Analysiere diese Funktion: def area_cuadrado(lado): und darin return lado * lado. Erkläre, was der Parameter ist, was der Rückgabewert ist und was jeder Aufruf auf dem Bildschirm ausgeben würde: print(area_cuadrado(5)), print(area_cuadrado(2.5)).

Lösen
Üben★★★Nicht begonnen
Ein Team entwickelt die Software für eine Registrierkasse mithilfe von Funktionen: a) Beim Ausführen dieses Codes erzeugt Python den Fehler: TypeError: unsupported…

Ein Team entwickelt die Software für eine Registrierkasse mithilfe von Funktionen:

def calcular_iva(precio):

    total = precio * 1.21

    pass  # Der Programmierer hat vergessen, die letzte Zeile dieser Funktion hinzuzufügen

def aplicar_descuento(total, rebaja):

    resultado = total - rebaja

    return resultado

precio_base = 100.0

precio_con_iva = calcular_iva(precio_base)

precio_final = aplicar_descuento(precio_con_iva, 10.0)

print("Endpreis:", precio_final)
  1. a) Beim Ausführen dieses Codes erzeugt Python den Fehler: TypeError: unsupported operand type(s) for -: 'NoneType' and 'float'. Deute die Meldung und erkläre genau, wie der Wert None durch die Variablen des Programms wandert.
  2. b) Ein Mitschüler behauptet: „Zur Behebung genügt es, die Zeile der ersten Funktion in print(precio * 1.21) zu ändern.“ Widerlege seine Behauptung, indem du den funktionalen Unterschied zwischen der Ausgabe eines Werts auf dem Bildschirm und der Rückgabe eines Werts an den Hauptaufruf erklärst.
  3. c) Korrigiere den Code und füge eine Funktion es_valido(precio) hinzu, die einen booleschen Wert (True oder False) zurückgibt, um zu prüfen, dass der Grundbetrag nicht negativ ist, bevor er verarbeitet wird.
Lösen
Üben★★★Nicht begonnen
Entwirf den Algorithmus für ein Aufladeterminal mit Bezahlfunktion für die Schulmensa unter Beachtung folgender technischer Anforderungen: Die Karte beginnt mit einem…

Entwirf den Algorithmus für ein Aufladeterminal mit Bezahlfunktion für die Schulmensa unter Beachtung folgender technischer Anforderungen:

  • Die Karte beginnt mit einem Anfangsguthaben von $20{,}00\ \text{€}$, und jedes Menü kostet $4{,}50\ \text{€}$.

  • In einer Schleife fragt das Programm, wie viele Menüs am Tag verzehrt werden sollen.

  • Wenn das verfügbare Guthaben nicht ausreicht, um die gewünschte Anzahl zu bezahlen, wird der Vorgang abgebrochen, der fehlende Betrag angezeigt und das Guthaben nicht verändert.

  • Wenn genug Guthaben vorhanden ist, wird der Betrag abgebucht und geprüft, ob das Restguthaben unter $5{,}00\ \text{€}$ liegt; in diesem Fall wird die Meldung „Guthaben niedrig: Bitte bald aufladen“ angezeigt.

  • Das Programm muss automatisch enden, wenn das Restguthaben kleiner als der Preis eines einzelnen Menüs ($4{,}50\ \text{€}$) ist.

  • Begründe, welche Art von Schleife du verwendet hast, und erkläre, wie du verhinderst, dass ein Benutzer eine negative Anzahl von Menüs eingibt, um sein Guthaben künstlich zu erhöhen.

Lösen

Fehler finden und gezielt testen

Zwei Programmfenster: Bei einem Syntaxfehler (fehlendes Anführungszeichen) startet das Programm nicht; bei einem logischen Fehler (note1 + note2 / 2) läuft es, liefert aber 7 statt 5. Syntaxfehler input("Dein Name: ) startet nicht Logischer Fehler mittel = note1 + note2 / 2 note1 = 4 note2 = 6 Ergebnis: 7 erwartet: 5 läuft, aber Ergebnis falsch

Die Fehlermeldung nennt die Zeile und die Art des Fehlers. Lies sie von unten nach oben: Die letzte Zeile sagt, was schiefging, die Zeilennummer, wo.

Üben★☆☆Nicht begonnen
Dieses Programm enthält drei typische Fehler: nombre = input("Dein Name: ), if nombre = "Fatima", print("Hallo"). Finde jeden Fehler (ein nicht geschlossenes…

Dieses Programm enthält drei typische Fehler: nombre = input("Dein Name: ), if nombre = "Fatima", print("Hallo"). Finde jeden Fehler (ein nicht geschlossenes Anführungszeichen, ein =, das == sein müsste, und erkläre den Unterschied), schreibe das korrigierte Programm neu und gib an, welche Fehlermeldung der Computer jeweils ausgeben würde.

Lösen
Üben★★★Nicht begonnen
Betrachte das folgende Programm, dessen Ziel es ist, den Benutzer nach seinem Alter zu fragen und zu bestimmen, ob er alt genug zum Wählen ist (ab $18$ vollendeten…

Betrachte das folgende Programm, dessen Ziel es ist, den Benutzer nach seinem Alter zu fragen und zu bestimmen, ob er alt genug zum Wählen ist (ab $18$ vollendeten Lebensjahren):

if edad >= "18":

print("Du darfst wählen")

edad = input("Sag mir dein Alter: ")

else:

    print("Du darfst nicht wählen")
  1. a) Wenn du versuchst, das Programm so auszuführen, in welcher Zeile bleibt der Python-Interpreter stehen, und warum kommt er nicht dazu, die input-Zeile auszuführen?
  2. b) Bestimme und klassifiziere alle vorhandenen Fehler und unterscheide dabei zwischen Syntaxfehlern (die das Übersetzen/Interpretieren verhindern) und Typ- oder Logikfehlern zur Laufzeit.
  3. c) Schreibe den korrigierten Code neu und baue eine Überprüfung ein, die verhindert, dass das Programm abstürzt, wenn der Benutzer sein Alter als Text eingibt (zum Beispiel „achtzehn“).
Lösen
Üben★★★Nicht begonnen
Um eine Kreuzung an einer Schule zu regeln, wird dieser Algorithmus in Pseudocode für eine Ampel mit Fußgängertaster vorgeschlagen: a) Erkenne einen schwerwiegenden…

Um eine Kreuzung an einer Schule zu regeln, wird dieser Algorithmus in Pseudocode für eine Ampel mit Fußgängertaster vorgeschlagen:

solange wahr:

    gruen_autos = AN, rot_fussgaenger = AN

    wenn taster_betaetigt == 1:

        warten(5)

        gruen_autos = AUS, gelb_autos = AN

        warten(3)

        gelb_autos = AUS, rot_autos = AN

        rot_fussgaenger = AUS, gruen_fussgaenger = AN

        warten(10)

        gruen_fussgaenger = AUS, rot_fussgaenger = AN
  1. a) Erkenne einen schwerwiegenden Mangel der Verkehrssicherheit beim Übergang zurück: Was geschieht, wenn das Grün der Fußgänger ausgeschaltet wird, unmittelbar mit dem fließenden Verkehr im nächsten Durchlauf der Schleife?
  2. b) Entwirf eine Verbesserung des Algorithmus (in Pseudocode oder strukturiertem Text), die diesen Mangel behebt und zudem den Zusammenbruch des Verkehrs verhindert: Wenn Fußgänger wiederholt den Taster drücken, muss die Ampel zwischen den Zyklen immer mindestens $20$ Sekunden ununterbrochenes Grün für die Autos garantieren.
Lösen
Üben★★★Nicht begonnen
Ein Bewertungssystem, das Punkte von $0$ bis $10$ vergibt (höher ist besser), berechnet die Endnote mit folgenden Gewichtungen: Klassenarbeit ($20\ \%$), Werkstattpraxis…

Ein Bewertungssystem, das Punkte von $0$ bis $10$ vergibt (höher ist besser), berechnet die Endnote mit folgenden Gewichtungen: Klassenarbeit ($20\ \%$), Werkstattpraxis ($30\ \%$) und theoretische Prüfung ($50\ \%$). Die Lehrkraft hat die Formel so programmiert:

arbeit = float(input("Note Arbeit: "))

werkstatt = float(input("Note Werkstatt: "))

pruefung = float(input("Note Prüfung: "))

endnote = arbeit * 0.20 + werkstatt * 0.30 + pruefung * 0.50 / 3

if endnote > 5:

    print("Bestanden")

else:

    print("Nicht bestanden")
  1. a) Sage voraus, welches Ergebnis das Programm anzeigt, wenn der Schüler in allen drei Bereichen $10{,}0$ Punkte erhält. Erkläre anhand der Operatorenrangfolge, warum in endnote ein falscher Zahlenwert gespeichert wird.
  2. b) Begründe, warum dieser Fehler ein Logikfehler und kein Syntaxfehler ist, und erläutere, warum Logikfehler in Programmen der Technik oder Steuerungstechnik ein viel größeres Risiko darstellen als Syntaxfehler.
  3. c) Finde einen zweiten Logikfehler in der Bedingung des if im Hinblick auf das Bewertungskriterium dieses Systems (bestanden ab $5{,}0$ Punkten) und schreibe die endgültige, korrigierte Version des Programms.
Lösen
Üben★★★Nicht begonnen
Projektaufgabe zum Thema. Als angehender Datenanalyst sollst du ein Python-Programm erstellen, das die Temperaturbelastung in deiner Umgebung analysiert, und effiziente…

Projektaufgabe zum Thema. Als angehender Datenanalyst sollst du ein Python-Programm erstellen, das die Temperaturbelastung in deiner Umgebung analysiert, und effiziente Verhaltensweisen vorschlagen.

  1. Datenerhebung: Rufe die offizielle Website des Deutschen Wetterdienstes auf und notiere die Höchsttemperatur in deiner Gemeinde an den letzten $5$ aufeinanderfolgenden Tagen.

  2. Textuelle Programmierung: Schreibe in einem kostenlosen Online-Editor wie Trinket.io ein Python-Skript, das diese $5$ Werte in einer Liste speichert. Programmiere mit einer for-Schleife und if-else-Verzweigungen die automatische Berechnung der Durchschnittstemperatur ($\bar{x}$) und die Bestimmung des heißesten Tages.

  3. Bericht und Vorschlag: Erstelle ein kurzes Dokument mit dem kommentierten Quellcode, einem Screenshot der Ausgabe in der Konsole und einem begründeten Vorschlag mit zwei Maßnahmen zur Raumklimatisierung für den Fall, dass der Durchschnitt über $21{,}5$ °C liegt.

Bewertet wird:

  • syntaktische Korrektheit des Codes (Umgang mit Listen, Schleifen und Verzweigungen).

  • Genauigkeit beim Übernehmen der realen Wetterdaten und Richtigkeit der Berechnung.

  • Verständlichkeit der Kommentare im Programm und technische Umsetzbarkeit des Energievorschlags.

Lösen

Zurück zum Anfang: Der Waffelpreis-Rechner braucht input() mit Umwandlung, eine Verzweigung für den Rabatt, eine Funktion für die Berechnung und Testfälle, die ihn überprüfen.

Auf einen Blick

Alle Aufgaben zu diesem Abschnitt anzeigen