[PIPython] Sorgenti personali
Giovanni Porcari
giovanni.porcari
Gio 20 Gen 2005 20:33:52 CET
Il giorno 19/gen/05, alle 14:52, Giovanni Porcari ha scritto:
> 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
>
c'erano un paio di referenze ad 'a' invece che a 'self'...scusa.
ecco la versione corretta.
Ciao
----------------------------- 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=self.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'):
self.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