print ("**Pflanzenübersicht**")
print ()
print ("Pflanze\t\tArtenanzahl\t\tAnpflanzzeit\t\tWuchshöhe\t\tStandort\t\tPflegehinweise")
print ()
print ("Blumen")
print ()
print ("Lavendel\tca.25\t\t\tFrühling\t\t30-80cm\t\t\tsonnig,durchlässig\ttrocken halten")
print ("Sonnenblume\tca.70\t\t\tFrühling\t\t100-300cm\t\tsonnig\t\t\tbewässert,windgeschützt")
print ("Rose\t\t>100\t\t\tHerbst,Frühling\t\t50-200cm\t\tsonnig,halbschattig\tregelmäßiger Schnitt, Schädlinge kontrollieren")
print ("Lilie\t\t>100\t\t\tHerbst\t\t\t80-120cm\t\tsonnig,halbschattig\tBoden leicht feucht halten, frostempfindlich")
print ("Ringelblume\tca.20\t\t\tFrühling\t\t30-50cm\t\t\tsonnig\t\t\tgeringe Pflege, lockerer Boden")
print ("Lavatera\tca.25\t\t\tHerbst\t\t\t10-15cm\t\t\thalbschattig\t\tBoden feucht und humusreichhalten")
print ("Astern\t\tca.180\t\t\tFrühjahr\t\t20-150cm\t\tsonnig,halbschattig\tregelmäßig gießen")
print ("Obst")
print ()
print ("Erdbeere\tca.20\t\t\tFrühling\t\t10-30cm\t\t\tsonnig\t\t\tmulchen, regelmäßig gießen")
print ("Johannisbeere\tca.50\t\t\tFrühling\t\t100-150cm\t\tsonnig,halbschattig\tWindschutz, regelmäßig gießen")
print ()
print ("Gemüse")
print ()
print ("Tomate\t\tca.13\t\t\tFrühling\t\t100-200cm\t\tsonnig\t\t\thoher Wasserbedarf, regelmäßig düngen")
print ("Zucchini\t1\t\t\tFrühling\t\t60-100cm\t\tsonnig\t\t\thoher Wasser- und Platzbedarf")
print ("Karotte\t\tca.6\t\t\tFrühling,Spätsommer\t20-40cm\t\t\tsonnig\t\t\tlockerer, sandiger Boden")
print ("Rucola\t\tca.10\t\t\tHerbst,Frühling\t\t15-30cm\t\t\tsonnig,halbschattig\tregelmäßig ernten und feucht halten")
print ("Radieschen\tca.3\t\t\tHerbst,Frühling\t\t10-30cm\t\t\tsonnig\t\t\tfeuchter, durchlässiger Boden")
print ()
print ("Kräuter")
print ()
print ("Salbei\t\tca.900\t\t\tFrühling\t\t30-60cm\t\t\tsonnig,trocken\t\tmäßig gießen")
print ("Basilikum\tca.60\t\t\tFrühling\t\t20-50cm\t\t\tsonnig\t\t\tregelmäßig ernten, hoher Wasserbedarf")
print ("Thymian\t\tca.300\t\t\tFrühling\t\t10-30cm\t\t\tsonnig,trocken\t\ttrockener Boden")
print ("Pfefferminze\tca.25\t\t\tFrühling\t\t30-90cm\t\t\thalbschattig\t\tfeucht halten")
# Datenstruktur für Pflanzeninformationen
plant_data = [
# Blumen
{"Kategorie": "Blumen", "Pflanze": "Lavendel", "Artenanzahl": "ca.25", "Anpflanzzeit": "Frühling",
"Wuchshöhe": "30-80cm", "Standort": "sonnig,durchlässig", "Pflegehinweise": "trocken halten"},
{"Kategorie": "Blumen", "Pflanze": "Sonnenblume", "Artenanzahl": "ca.70", "Anpflanzzeit": "Frühling",
"Wuchshöhe": "100-300cm", "Standort": "sonnig", "Pflegehinweise": "bewässert,windgeschützt"},
{"Kategorie": "Blumen", "Pflanze": "Rose", "Artenanzahl": ">100", "Anpflanzzeit": "Herbst,Frühling",
"Wuchshöhe": "50-200cm", "Standort": "sonnig,halbschattig",
"Pflegehinweise": "regelmäßiger Schnitt, Schädlinge kontrollieren"},
{"Kategorie": "Blumen", "Pflanze": "Lilie", "Artenanzahl": ">100", "Anpflanzzeit": "Herbst",
"Wuchshöhe": "80-120cm", "Standort": "sonnig,halbschattig",
"Pflegehinweise": "Boden leicht feucht halten, frostempfindlich"},
{"Kategorie": "Blumen", "Pflanze": "Ringelblume", "Artenanzahl": "ca.20", "Anpflanzzeit": "Frühling",
"Wuchshöhe": "30-50cm", "Standort": "sonnig", "Pflegehinweise": "geringe Pflege, lockerer Boden"},
{"Kategorie": "Blumen", "Pflanze": "Lavatera", "Artenanzahl": "ca.25", "Anpflanzzeit": "Herbst",
"Wuchshöhe": "10-15cm", "Standort": "halbschattig", "Pflegehinweise": "Boden feucht und humusreichhalten"},
{"Kategorie": "Blumen", "Pflanze": "Astern", "Artenanzahl": "ca.180", "Anpflanzzeit": "Frühjahr",
"Wuchshöhe": "20-150cm", "Standort": "sonnig,halbschattig", "Pflegehinweise": "regelmäßig gießen"},
# Obst
{"Kategorie": "Obst", "Pflanze": "Erdbeere", "Artenanzahl": "ca.20", "Anpflanzzeit": "Frühling",
"Wuchshöhe": "10-30cm", "Standort": "sonnig", "Pflegehinweise": "mulchen, regelmäßig gießen"},
{"Kategorie": "Obst", "Pflanze": "Johannisbeere", "Artenanzahl": "ca.50", "Anpflanzzeit": "Frühling",
"Wuchshöhe": "100-150cm", "Standort": "sonnig,halbschattig", "Pflegehinweise": "Windschutz, regelmäßig gießen"},
# Gemüse
{"Kategorie": "Gemüse", "Pflanze": "Tomate", "Artenanzahl": "ca.13", "Anpflanzzeit": "Frühling",
"Wuchshöhe": "100-200cm", "Standort": "sonnig", "Pflegehinweise": "hoher Wasserbedarf, regelmäßig düngen"},
{"Kategorie": "Gemüse", "Pflanze": "Zucchini", "Artenanzahl": "1", "Anpflanzzeit": "Frühling",
"Wuchshöhe": "60-100cm", "Standort": "sonnig", "Pflegehinweise": "hoher Wasser- und Platzbedarf"},
{"Kategorie": "Gemüse", "Pflanze": "Karotte", "Artenanzahl": "ca.6", "Anpflanzzeit": "Frühling,Spätsommer",
"Wuchshöhe": "20-40cm", "Standort": "sonnig", "Pflegehinweise": "lockerer, sandiger Boden"},
{"Kategorie": "Gemüse", "Pflanze": "Rucola", "Artenanzahl": "ca.10", "Anpflanzzeit": "Herbst,Frühling",
"Wuchshöhe": "15-30cm", "Standort": "sonnig,halbschattig",
"Pflegehinweise": "regelmäßig ernten und feucht halten"},
{"Kategorie": "Gemüse", "Pflanze": "Radieschen", "Artenanzahl": "ca.3", "Anpflanzzeit": "Herbst,Frühling",
"Wuchshöhe": "10-30cm", "Standort": "sonnig", "Pflegehinweise": "feuchter, durchlässiger Boden"},
# Kräuter
{"Kategorie": "Kräuter", "Pflanze": "Salbei", "Artenanzahl": "ca.900", "Anpflanzzeit": "Frühling",
"Wuchshöhe": "30-60cm", "Standort": "sonnig,trocken", "Pflegehinweise": "mäßig gießen"},
{"Kategorie": "Kräuter", "Pflanze": "Basilikum", "Artenanzahl": "ca.60", "Anpflanzzeit": "Frühling",
"Wuchshöhe": "20-50cm", "Standort": "sonnig", "Pflegehinweise": "regelmäßig ernten, hoher Wasserbedarf"},
{"Kategorie": "Kräuter", "Pflanze": "Thymian", "Artenanzahl": "ca.300", "Anpflanzzeit": "Frühling",
"Wuchshöhe": "10-30cm", "Standort": "sonnig,trocken", "Pflegehinweise": "trockener Boden"},
{"Kategorie": "Kräuter", "Pflanze": "Pfefferminze", "Artenanzahl": "ca.25", "Anpflanzzeit": "Frühling",
"Wuchshöhe": "30-90cm", "Standort": "halbschattig", "Pflegehinweise": "feucht halten"}
]
# Funktion zur Anzeige der Daten in der Konsole
def display_table(data):
# Große Überschrift 'Pflanzenübersicht'
print("PFLANZENÜBERSICHT".center(80, "="))
print("\n")
# Spaltenüberschriften
header = ["Pflanze", "Artenanzahl", "Anpflanzzeit", "Wuchshöhe", "Standort", "Pflegehinweise"]
column_widths = [max(len(header[i]), max(len(str(row[header[i]])) for row in data)) for i in range(len(header))]
# Gesamtlänge der Trennlinie berechnen
line_length = sum(column_widths) + len(column_widths) - 1
separator = "-" * line_length
# Überschrift formatieren
header_format = "{:<{}} {:<{}} {:<{}} {:<{}} {:<{}} {:<{}}"
print(header_format.format(header[0], column_widths[0], header[1], column_widths[1], header[2], column_widths[2],
header[3], column_widths[3], header[4], column_widths[4], header[5], column_widths[5]))
print(separator)
# Gruppieren nach Kategorien
categories = {}
for row in data:
category = row["Kategorie"]
if category not in categories:
categories[category] = []
categories[category].append(row)
# Anzeige der Daten nach Kategorien
for category, plants in categories.items():
# Kategorie als Überschrift anzeigen
print(f"\n{category.upper()}") # Nur einmalig die Kategorie anzeigen
print(separator)
for plant in plants:
# Pflanzeninformationen ohne die Kategorie mit extra Abstand
print(header_format.format(
plant["Pflanze"], column_widths[0],
plant["Artenanzahl"], column_widths[1],
plant["Anpflanzzeit"], column_widths[2],
plant["Wuchshöhe"], column_widths[3],
plant["Standort"], column_widths[4],
plant["Pflegehinweise"], column_widths[5]
))
print(separator)
# Zusätzliche Ausgabe für Frühjahrsanpflanzungen
print("\n")
print("PFLANZEN FÜR DIE ANPFLANZUNG IM FRÜHLING".center(80, "-"))
print("\n")
# Filtern der Pflanzen, die im Frühling angepflanzt werden können
spring_plants = [plant for plant in data if "Frühling" in plant["Anpflanzzeit"]]
# Ausgabe der Frühlingspflanzen
for plant in spring_plants:
print(header_format.format(
plant["Pflanze"], column_widths[0],
plant["Artenanzahl"], column_widths[1],
plant["Anpflanzzeit"], column_widths[2],
plant["Wuchshöhe"], column_widths[3],
plant["Standort"], column_widths[4],
plant["Pflegehinweise"], column_widths[5]
))
print("-" * line_length)
# Daten anzeigen
display_table(plant_data)