LU02.A08 - Kochbuch

Erstelle ein Python-Programm, das ein JSON-basiertes Kochbuch bearbeitet. Deine Aufgabe ist es, das Rezept für eine variable Personenanzahl anzupassen. Verwende dabei ausschließlich Immutable Data und Pure Functions.

Detaillierte Aufgabenstellung

Ihr seid leidenschaftliche Köche und habt ein digitales Kochbuch in Form einer JSON-Datei. Ihr möchtet ein Python-Programm schreiben, das die Mengenangaben in den Rezepten an eine gegebene Anzahl von Personen anpasst.

  1. Definiere eine Funktion namens adjust_recipe, die ein Rezept und die Anzahl der Personen als Argumente nimmt. Die Funktion soll ein neues, angepasstes Rezept zurückgeben.
  2. Definiere eine Funktion namens load_recipe, die ein JSON-String als Argument nimmt und ein Python-Dictionary daraus erstellt.
  3. Achte darauf, dass alle deine Funktionen Pure Functions sind.
if __name__ == '__main__':
    # Beispiel für die Datenstruktur eines Rezepts
    recipe_json = '{"title": "Spaghetti Bolognese", "ingredients": {"Spaghetti": 400, "Tomato Sauce": 300, "Minced Meat": 500}, "servings": 4}'
    # Dein Code kommt hier hin

Beispiel Daten

JSON und Python Dictionaries

Umwandlung zwischen JSON und Python Dictionary

Die json-Bibliothek in Python bietet zwei Hauptmethoden für die Umwandlung zwischen JSON-Strings und Python-Dictionaries: json.loads() und json.dumps().

json.loads()

Die Methode json.loads() (load string) wird verwendet, um einen JSON-kodierten String in ein Python-Dictionary umzuwandeln.

import json
 
json_string = '{"name": "John", "age": 30, "city": "New York"}'
python_dict = json.loads(json_string)

Nach der Ausführung dieses Codes enthält python_dict das folgende Dictionary:

{'name': 'John', 'age': 30, 'city': 'New York'}

json.dumps()

Die Methode json.dumps() (dump string) wird verwendet, um ein Python-Dictionary in einen JSON-kodierten String umzuwandeln.

import json
 
python_dict = {'name': 'John', 'age': 30, 'city': 'New York'}
json_string = json.dumps(python_dict)

Nach der Ausführung dieses Codes enthält json_string den folgenden JSON-kodierten String:

'{"name": "John", "age": 30, "city": "New York"}'

https://github.com/templates-python/m323-lu02-a08-kochbuch

© Kevin Maurizi