Hier die Funktion zur Suche:
Code: Alles auswählen
def find_movie():
with open ("movies.csv", "r") as file:
lines = file.readlines()
eingabe = input("Welchen Film suchen Sie?")
for element in lines:
if eingabe == element.strip("\n"):
print(f"{eingabe}, ist in der Datenbank vorhanden.")
break
else:
print(f"{eingabe} ist in der Datenbank NICHT vorhanden.")
Code: Alles auswählen
def mark_lend():
with open ("movies.csv", "r") as file:
lines = file.readlines()
movies_marked = {}
eingabe = input("Welcher Film soll als verliehen markiert werden?")
for element in lines:
if eingabe == element.strip("\n"):
movies_marked[element] = "Verliehen"
else:
movies_marked[element] = "Verfügbar"
Er müsste dann noch in die movies.csv schreiben und dort diese Informationen setzen und natürlich auch die, die noch als verliehen dort sind, dürfen nicht einfach überschrieben werden.
Je mehr ich mir das so ansehe und dazu google stelle ich fest:
So aufwendig sollte das in der Realität niemals sein.
das CSV Modul von Anfang an würde vieles erleichtern, wie auch hier ja schon geschrieben wurde.
Und auch _blackjack_ hat Recht:
Die Funktionen sollten einfacher gehalten werden.
Allerdings ging es mir ja auch darum, gelerntes zu probieren.
Nachdem Filme hinzufügen, Filme entfernen und Filme suchen im nachhinein nicht so ein Problem sind, da diese ja nur eine einfache Liste sind, wird es mit der Zusatz ob die verliehen oder verfügbar sind etwas schwieriger.
Abgesehen vom CSV Modul etc.
Wenn man es so programmieren würde wie ich es gerade versuche, ohne Module etc:
Wie würdet ihr es machen?
Die Funktion die,die Filme kennzeichnet so schreiben, dass diese ein dictionary erzeugt,
wie oben, aber erst noch prüft ob hier einige bereits den Wert "verliehen" haben und diese dann entsprechend überspringen?
Dieses dictonary dann in eine neue Datei schreiben die man aufrufen und prüfen kann?
Das wäre so mein Gedanke, wie seht ihr das?