Mir war gerade danach mal wieder, weil ich die Projektideenseite gesehen habe, ein Adressbuch ohne Benutzeroberfläche zu machen. Ich werde den Code weiter unten Posten, aber:
ich habe das mit der Datenverwaltung ein bisschen aufgeschoben und habe jetzt das Problem, das ich das letzte mal hatte, als ich ein Adressbuch schreiben wollte, dass ich Namen für Listen generieren möchte(automatisches weiterzählen), aber ich weiß nicht wie ich aus folgendem einen Namen mache:
id=ist dieser Zähler
"Vorname"+"_"+"Nachname"+id
==> ??
Wie gesagt, ich bin gerade erst mittendrin: pickle kommt noch dazu! Da sind 2 Typen schon dabei, als Beispiel der Struktur
Code: Alles auswählen
# -*- coding: cp1252 -*-
#Adressliste
#Vorname Nachname Wohnort Postleitzahl Straße Hausnummer Telefonnummer
Muster_Peter=["Muster", "Peter","Baldham", 85598, "Weg", "1", "39989"]
Garet_Meret=["Garet", "Meret", "Baldham", 85598, "Weg", "2", "856887"]
BUCH=[Garet_Meret, Alois_Pollithy]
global counter
counter=2
global id
id=1
FEHLER="~~~ FEHLERHAFTE EINGABE ~~~"
class Adressbuch(object):
BUCH.sort()
print "--"*20
print "|", """ """*18, "|"
print " DAS ADRESSBUCH"
print "--"*20
def eingabe(self):
print "--"*20
print "[a]uflisten | [b]earbeiten | a[n]legen | [q]uit"
print "--"*20
eingabe=raw_input("--[")
if eingabe=="a":
self.auflisten()
return
if eingabe=="b":
self.bearbeiten()
return
if eingabe=="n":
self.anlegen()
return
if eingabe=="q":
self.quit()
return
if (eingabe <> "a") or (eingabe <> "b") or (eingabe <> "n") or (eingabe <> "q"):
print "~~~ FEHLERHAFTE EINGABE ~~~"
self.eingabe()
def auflisten(self):
eingabe=0
print "--"*20
print "Das Adressbuch umfasst %s Einträge." % (count)
print "--"*20
print "[A]lle Einträge | [P]ostleitzahl | [N]ame | [W]ohnort |"
print "[S]traße || [z]urück"
eingabe=raw_input("--[")
if eingabe=="A":
print "Alle Einträge"
for Vorname, Nachname, Ort, Plz, Strasse, Nummer, Tel in BUCH:
print "--"*20
print Vorname, Nachname, """ """, Ort, Plz
print Strasse, Nummer
print Tel
print "--"*20
self.eingabe()
return
if eingabe=="P":
print "nach Postleitzahl sortieren"
print "--"*20
print "Postleitzahl eingeben:"
eingabe=0
eingabe=input("--[")
c=0
for Vorname, Nachname, Ort, Plz, Strasse, Nummer, Tel in BUCH:
if Plz==eingabe:
print "--"*20
print Vorname, Nachname, """ """, Ort, Plz
print Strasse, Nummer
print Tel
print "--"*20
c += 1
print "Meldung: %s Treffer auf %s! =statistic=> %s %s" % (c, eingabe, c/counter*100, "%")
eingabe=0
print "--"*20
self.eingabe()
return
if eingabe=="N":
print "nach Name sortieren"
print "--"*20
print "Vor- oder Nachname hier eingeben:"
eingabe=0
eingabe=raw_input("--[")
c=0
for Vorname, Nachname, Ort, Plz, Strasse, Nummer, Tel in BUCH:
if (Vorname==eingabe) or (Nachname==eingabe):
print "--"*20
print Vorname, Nachname, """ """, Ort, Plz
print Strasse, Nummer
print Tel
print "--"*20
c += 1
print "Meldung: %s Treffer auf %s! =statistic=> %s %s" % (c, eingabe, c/counter*100, "%")
eingabe=0
print "--"*20
self.eingabe()
return
if eingabe=="W":
print "nach Wohnort sortieren"
print "--"*20
print "Wohnort hier eingeben:"
eingabe=0
eingabe=raw_input("--[")
c=0
for Vorname, Nachname, Ort, Plz, Strasse, Nummer, Tel in BUCH:
if (Ort==eingabe) or (Plz==eingabe):
print "--"*20
print Vorname, Nachname, """ """, Ort, Plz
print Strasse, Nummer
print Tel
print "--"*20
c += 1
print "Meldung: %s Treffer auf %s! =statistic=> %s %s" % (c, eingabe, c/counter*100, "%")
eingabe=0
print "--"*20
self.eingabe()
return
if eingabe=="S":
print "nach Straßenamen sortieren"
print "--"*20
print "Straßenname hier eingeben:"
eingabe=0
eingabe=raw_input("--[")
c=0
for Vorname, Nachname, Ort, Plz, Strasse, Nummer, Tel in BUCH:
if (Strasse==eingabe) or (Nummer==eingabe):
print "--"*20
print Vorname, Nachname, """ """, Ort, Plz
print Strasse, Nummer
print Tel
print "--"*20
c += 1
print "Meldung: %s Treffer auf %s! =statistic=> %s %s" % (c, eingabe, c/counter*100, "%")
eingabe=0
print "--"*20
self.eingabe()
return
if eingabe=="z":
self.eingabe()
return
if (eingabe <> "A") or (eingabe <> "P") or (eingabe <> "N") or (eingabe <> "W") or (eingabe <> "S") or (eingabe <> "z"):
print "~~~ FEHLERHAFTE EINGABE ~~~"
self.auflisten()
def bearbeiten(self):
eingabe=0
print "Vorname der Person eingeben"
eingabe=raw_input("--[")
print "Nachname der Person eingaben"
eingabe2=raw_input("--[")
Zusammensetzung=eingabe+"_"+eingabe2
ZS=Zusammensetzung
print "--"*20
eingabe=0
eingabe2=0
try:
for i in ZS:
print i
print "Bearbeitung beginnt nach [enter]"
raw_input("")
self.BEARB(ZS)
except:
print "Inkorrekte Eingaben: %s existiert nicht!" % (ZS)
def anlegen_weiter(self):
print "Sie legen einen neuen Eintrag an."
print "--"*20
Vorname=raw_input("Vorname:")
Nachname=raw_input("Nachname:")
Wohnort=raw_input("Wohnort:")
Postleitzahl=raw_input("Postleitzahl:")
Strasse=raw_input("Straße:")
Hausnummer=raw_input("Hausnummer:")
Telefonnummer=raw_input("Telefonnummer:")
print "--"*20
BUCH.insert(0, Vorname)
BUCH.insert(0, Nachname)
BUCH.insert(0, Wohnort)
BUCH.insert(0, Postleitzahl)
BUCH.insert(0, Strasse)
BUCH.insert(0, Hausnummer)
BUCH.insert(0, Telefonnummer)
#
# hier will ich den Namen erstellen und ihm alle Werte von oben zuordnen
# und dann BUCH zuordnen
print "Eintrag gespeichert."
def anlegen(self):
print "Neuen Eintrag anlegen."
print "[m]enü | [w]eiter"
eingabe=0
eingabe=raw_input("--[")
if eingabe=="m":
self.eingabe()
if eingabe=="w":
self.anlegen_weiter()
return
if (eingabe != "m") or (eingabe <> "w"):
print FEHLER
self.anlegen()
A=Adressbuch()
A.eingabe()