Die Idee kam mir definitiv nicht beim einkaufen

Aufgabe

Pfand Preise:

  • Glas: 10 Cent
  • Plastik: 15 Cent
  • Dose: 25 Cent

Implementieren Sie Schritt für Schritt einen Pfand-Automaten:

1.

Schreiben Sie eine unendliche While-Schleife, die einen input entgegen nimmt und abbricht, sobald “exit” eingegeben wird.

2.

Schreiben Sie eine Funktion in der Sie den input validieren:

Wenn die Eingabe nicht Glas, Plastik oder Dose ist, dann geben Sie irgendwas Lustiges zurück.

Achtung: Groß- und Kleinschreibung sollte egal sein. Die Eingabe darf Glas, glas, GLAS, GlAs etc. sein.

Wenn die Eingabe valide ist, dann geben Sie Glas, Plastik oder Dose in einer einhaltlichen Schreibweise zurück. Andernfalls geben Sie None zurück.

3.

Schreiben Sie eine Funktion, die den aktuellen Pfandbetrag und den vereinheitlichen input kriegt.

Addieren Sie den input Pfandbetrag zum Gesamtwert und geben Sie ihn zurück.

Bonus: Falls Sie sich selbst nicht vertrauen, dann gehen Sie in dieser Funktion abermals sicher, dass input einhaltlich ist.

4.

Schreiben Sie eine Funktion in der Sie den Pfand-Bon Betrag ausgeben, wenn Sie mit “exit” das Program beenden.

5.

Disclaimer: Windows Nutzer müssen die VM benutzen.

Fügen Sie ein, dass die Zeit in der Sie einen input tätigen können auf 5 Sekunden beschränkt ist.

Dies kann unter anderem mit folgendem Code erreicht werden:

import signal
def zeit_abgelaufen(sig, frame):
    raise TimeoutError

signal.signal(signal.SIGALRM, zeit_abgelaufen)
signal.alarm(#Zeit in Sekunden)
try:
    # Warte auf eine Eingabe
except TimeoutError:
    # Was tun wenn die Zeit abgelaufen ist?

Sobald die Zeit abgelaufen ist, wird Ihr Pfand-Bon gedruckt und das Program beendet.

Bonus

Überlegen Sie sich eine lustige Pfand-Bon Ausgabe.

Tipp: Groß- und Kleinschreibung

Achtung Spoiler!