Я хочу взять имя человека и его номер телефона у конечного пользователя и добавить в словарь.Я начал с пустого словаря.
После того, как первый пользователь введет данные, программа сообщит, что добавлена новая запись, и отобразит содержимое внутри обновленного словаря.Пока все работает нормально.
Когда второй пользователь вводит данные, он должен делать то же самое:
- Скажем, добавлена новая запись
- Отображать все всловарное значение, ввод первого пользователя и второго пользователя.Но это не работает, как ожидалось.Он показывает только ввод второго пользователя, но не ввод первого.
Может кто-нибудь сказать, почему это не удается добавить к существующим данным?Я вижу только одну запись каждый раз (кто бы ни был последним).
Вот программа:
class phonebook:
allphones = {} # Empty dictionary
def __init__ (self, name, phone):
self.pername = name
self.perphone = phone
def adddata(self):
phonebook.allphones[self.pername] = self.perphone # append to the dictionary
print ('A new phone book entry added - {0}:{1}'.format(self.pername, self.perphone)) # confirm the input
print (phonebook.allphones) # display what is inside the phonebook
name = input('Type person\'s name --> ')
phone = input('Type phone\'s name --> ')
adding = phonebook(name, phone)
adding.adddata()
Вот обновленная программа <----------- </p>
class phonebook:
def __init__ (self):
self.allphones = {}
def adddata(self, name, phone):
self.allphones[name] = phone # append to the dictionary
print ('A new phone book entry added - {0}:{1}'.format(name, phone)) # confirm the input
print (self.allphones) # dump the complete phonebook data
name = input('Type person\'s name --> ')
phone = input('Type person\'s phone number --> ')
adding = phonebook()
adding.adddata(name, phone)
Вот вывод, который я получаю (я хочу {'abc': '123', 'ghj': '505050'}
в качестве ответа) -
>>> ================================ RESTART ================================
>>>
Type person's name --> abc
Type person's phone number --> 123
A new phone book entry added - abc:123
{'abc': '123'}
>>> ================================ RESTART ================================
>>>
Type person's name --> ghj
Type person's phone number --> 505050
A new phone book entry added - ghj:505050
{'ghj': '505050'}
>>>