我正在制作一个电话簿代码,可以添加,删除特定的电话号码,启动电话簿并打印电话簿中的所有内容。
class contact:
name=""
number=""
def print_n(self):
print("name : ", self.name)
print("number : ",self.number)
def add(): #This is supposed to add names and numbers to contact
name = input("Name: ")
number = input("Number: ")
def init(): #This is supposed to initalize contact
del contact
def s_delete(): #This is supposed to delete a phonenumber by typing in the person's name
s=input("name: ")
ss=input("number: ")
with contact:
del s
del ss
def print_all(): #This is supposed to print every phonenumber in the phonebook
print (contact)
到目前为止,我已经走了多远。我的代码中有什么问题吗?因为它不打印电话簿,也不添加或删除任何电话号码。
答案 0 :(得分:0)
您的代码不是正确的python。班级"联系" (python类的大写字母为大写,后跟(object)
未正确声明,init()应该看起来像__init__
等。
此代码是否适合您:
class Phonebook(object):
def print_n(self, name):
print("%s: %s" % (name, self.contacts.get(name, "Does not exist")))
#This is supposed to add names and numbers to contact
def add(self, name, number):
self.contacts[name] = number
#This is supposed to initalize contact
def __init__(self):
self.contacts = {}
#This is supposed to delete a phonenumber by typing in the person's name
def s_delete(self, name):
del self.contacts[name]
#This is supposed to print every phonenumber in the phonebook
def print_all(self):
for name in sorted(self.contacts.keys()):
print('%s: %s' % (name, self.contacts[name]))
if __name__ == '__main__':
while True:
action = input("Action (--add, -a; --delete, -d; --printall, -p; --exit, -e): ")
if action in ['--add', '-a']:
name = input("Name: ")
number = input("Number: ")
phonebook.add(name, number)
elif action in ['--delete', '-d']:
name = input("Name: ")
phonebook.s_delete(name)
elif action in ['--printall', '-p']:
phonebook.print_all()
elif action in ['--exit', '-e']:
break
else:
print("Unknown action.")