2015-03-07 2 views
-2

Эта лабораторная лаборатория в этом месяце основана на примере на страницах 53,54 учебника «Непрограммирующее учебное пособие для программистов для Python» Джоша Коглиати (2005) (см. http://en.wikibooks.org/wiki/Non-Programmer%27s_Tutorial_for_Python_3/Dictionaries).Назначение Python для телефонной книги

В своем примере у Cogliati есть варианты для печати, добавления, удаления и поиска номера телефона. Измените код так, что, вместо значения в словаре будучи простым номером телефона, то теперь список с тремя значениями:

  • номер телефона
  • электронной почты
  • адрес веб-страницы

Ключом все равно должно быть просто имя человека. Адаптируйте меню, используемое в примере соответственно, например, «2. Добавить номер телефона 'должен теперь читать' 2. Добавить запись ', и если выбранный пользователь должен запросить у пользователя 4 элемента информации (имя, телефон, электронная почта, сеть). Дополнительно: Добавьте параметр (например, номер 6 в меню) в «Изменить/Изменить существующую запись». Добавить опции:

  • Печать только список телефонных номеров
  • Печать только список адресов электронной почты
  • Печать только список веб-адресов
  • Выдает все выше вместе

Это задание, которое нам дано, я понимаю, что указано в ссылке, и добавил немного к нему, не зная, как сделать добавление в адрес электронной почты и веб-страницы в образование после хранения

+6

что вы пробовали? опубликуйте какой-то код, объясните конкретную проблему, с которой вы сталкиваетесь, а затем, возможно, кто-то может вам помочь. –

ответ

2

Хотя я согласен с комментарием по вашему отвечу, я по-прежнему буду стараться изо всех сил дать вам некоторые рекомендации.

Оригинальный код:

def print_menu(): 
    print('1. Print Phone Numbers') 
    print('2. Add a Phone Number') 
    print('3. Remove a Phone Number') 
    print('4. Lookup a Phone Number') 
    print('5. Quit') 
    print() 

numbers = {} 
menu_choice = 0 
print_menu() 
while menu_choice != 5: 
    menu_choice = int(input("Type in a number (1-5): ")) 
    if menu_choice == 1: 
     print("Telephone Numbers:") 
     for x in numbers.keys(): 
      print("Name: ", x, "\tNumber:", numbers[x]) 
     print() 
    elif menu_choice == 2: 
     print("Add Name and Number") 
     name = input("Name: ") 
     phone = input("Number: ") 
     numbers[name] = phone 
    elif menu_choice == 3: 
     print("Remove Name and Number") 
     name = input("Name: ") 
     if name in numbers: 
      del numbers[name] 
     else: 
      print(name, "was not found") 
    elif menu_choice == 4: 
     print("Lookup Number") 
     name = input("Name: ") 
     if name in numbers: 
      print("The number is", numbers[name]) 
     else: 
      print(name, "was not found") 
    elif menu_choice != 5: 
     print_menu() 

Обратите внимание, что numbers равно {} - это означает, что это «словарь», который хранит пары ключ/значение. Чтобы добавить в словарь (или «dict»), вы можете изменить его вручную как таковой: numbers = {'David': 18003574689}. Итак, чтобы получить номер телефона Дэвида, вы должны ввести numbers['David'].

Другим способ добавить к нему по инстанцированию его (что уже сделано для вас через numbers = {}), а затем добавление информации в к нему с помощью контекстных формул dictname['key'] = value. Таким образом, в этом случае стенография может быть numbers['Laura'] = 9173162546.

Теперь, чтобы добавить list в микс, вы можете использовать [] (что является списком на python), но вы, вероятно, лучше всего вложили бы другой dict в текущий. Например, вместо numbers = {'David': 18003574689} теперь вы можете получить numbers = {'David': {'phone number': 18003574689, 'e-mail': '[email protected]', 'address web page': 'http://dave.com'}, 'Laura': [...etc...]}.

Чтобы получить доступ к этим новым вложенным диктофонам, то, что вы можете сделать, это стенограмма numbers['David']['phone number'], которая вернет его #. Затем вы можете сделать этот точный короткий код еще 2 раза numbers['David']['e-mail'] & numbers['David']['address web page']. Эти три будут обращаться к связанным данным.

Поскольку я считаю, что это самая сложная часть для новичков, я остановлюсь здесь, так как остальное должно быть легко. Все, что вам нужно сделать, это создать новые входы в правильных условиях if. Назначьте захваченные входные данные в соответствующие переменные с помощью оператора назначения = (например, email = input('Email: ')), а затем используйте остальную информацию по логике. Надеюсь, это поможет.

Смежные вопросы