Ich stecke gerade an einer weiteren Übungsaufgabe fest https://www.programmieraufgaben.ch/aufg ... k/uahdskr3
Hab es soweit, dass ich eine JSON Datenbank anlegen kann und diese auch lesen und beschreiben kann.
Allerdings haben meine Dictionaries die selben Keys (Name, Alter, Wohnort usw.), so das mit d.update(neuer_benutzer) die alten Daten überschrieben werden.
Könnt ihr mir bitte einen Denkanstoß geben, wie ich das Problem lösen kann?
Code: Alles auswählen
'''
Entwerfen Sie ein Programm womit Eingaben von Benutzern gespeichert werden:
Dies wären z. B. Name, Alter, Geburtsdatum, Wohnort, ...
Außerdem sollten diese jederzeit wieder abrufbar sein.
Viel Glück
PS: Strukturen würden nicht schaden
'''
import json
pfad = './'
name = 'benutzer_db'
daten = {}
def lese_JSON_datei(pfad, name):
try:
with open(pfad + name + '.json') as f:
print(json.load(f))
except:
print("Keine Datenbank vorhanden. Legen Sie einen neuen Benutzer an!")
def schreibe_JSON_datei(pfad, name, daten):
with open(pfad + '/' + name + '.json', 'w') as f:
json.dump(daten, f, indent = 4, separators = (',',':'))#, sort_keys = True)
def erstelle_benutzer():
neuer_benutzer = {'Name': [input('Vorname?'), input('Nachname?')],
'Alter' : input('Alter?'),
'Wohnort': input('Wohnort?'),
'Familienstand': input('Familienstand?')}
daten.update(neuer_benutzer)
schreibe_JSON_datei(pfad, name, daten)
def lösche_benutzer(name):
pass
def menü():
läuft = True
while läuft:
print('\n')
print('1. Daten lesen')
print('2. Neuen Benutzer hinzufügen')
print('3. Einen Benutzer löschen')
print('4. Programm Ende')
eingabe = input()
if eingabe == '1':
lese_JSON_datei(pfad, name)
elif eingabe == '2':
erstelle_benutzer()
elif eingabe == '3':
lösche_benutzer(input('Welchen Benutzer möchten Sie löschen?'))
else:
läuft = False
menü()