[PIPython] Sorgenti personali
Giovanni Porcari
giovanni.porcari
Mer 19 Gen 2005 15:00:40 CET
Il giorno 19/gen/05, alle 12:36, Simone Cansella ha scritto:
> Vi dò dei miei sorgenti che ho fatto per esercizio penso che ai vostri
> occhi siano scarsi per ciò datemi un voto.
> Li ho convertiti in txt per windows e quindi se avete Linux ci
> mettete l'estensione per python (anche se questo penso che lo sapevate
> già).
>
Caro Simone
un suggerimento è quello di usare da subito python per come è pensato.
Quindi, nonostante io stesso sia un novellino,
mi permetto di modificare il tuo codice per farne una versione object
oriented.
Se non capisci qualcosa....chiedi pure.
Ciao
G.
------------------------------- Phonebook --------------------
class Phonebook(object):
def __init__(self):
self.menu=['Print Phone Numbers',
'Add Phone Number',
'Remove a Phone Number',
'Lookup a Phone Number',
'Quit'
]
self.implementors=[self.printPhoneNumbers,
self.addPhoneNumber,
self.removePhoneNumber,
self.lookupPhoneNumber,
self.stop
]
self.numbers={}
self.running=True
def run(self):
while self.running:
s=a.menuSelection('Type in a number')-1
self.implementors[s]()
def stop(self):
print "Bye Bye"
self.running=False
def printMenu(self):
for idx,value in enumerate (self.menu):
print idx+1,'-',value
def menuSelection(self,message='Select'):
a.printMenu()
m=len(self.menu)
selection=m+1
while selection >m:
selection=input (message+' (1-%i):' % m)
return selection
def printPhoneNumbers(self):
print "Telephone Numbers:"
for x in self.numbers.keys():
print "Name: ",x," \tNumber: ",self.numbers[x]
print
def addPhoneNumber(self):
print "Add Name and Number"
name = raw_input("Name:")
phone = raw_input("Number:")
self.numbers[name] = phone
def removePhoneNumber(self):
print "Remove Name and Number"
name = raw_input("Name:")
if name in self.numbers:
del numbers[name]
else:
print name," was not found"
def lookupPhoneNumber(self):
print "Lookup a Number"
name = raw_input ("Name:")
if name in self.numbers:
print "The Number is", numbers[name]
else:
print name," was not found"
if __name__ == '__main__':
a=Phonebook()
a.run()
More information about the Python
mailing list