С Новым годом! Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/74: Рейтинг темы: голосов - 74, средняя оценка - 4.55
1 / 1 / 0
Регистрация: 27.03.2013
Сообщений: 84

Написать программу - телефонный справочник (на основании словарей)

30.03.2013, 22:22. Показов 14631. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, в общем нужно написать программу - телефонный справочник (на основании словарей). Нужны такие функции как добавление записи, удаление, сохранение содержимого в файл, закрытие справочника и т.д.. Подскажите с чего лучше всего начать и как начать. Спасибо за помощь!
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
30.03.2013, 22:22
Ответы с готовыми решениями:

Написать программу телефонный справочник
Работа с БД. 1. Получение информации о телефонном номере по фамилии человека. 2. Получение информации о фамилии абонента по телефонному...

Написать программу Телефонный справочник
Структуры Логически законченные фрагменты оформите в виде подпрограмм, все необходимые дан-ные которым передаются через список...

Написать программу «расширенный телефонный справочник»
Написать программу «расширенный телефонный справочник». Создайте массив указателей из двух элементов. Каждый указатель массива ссылается...

12
 Аватар для pashtet-kun
135 / 120 / 37
Регистрация: 30.09.2012
Сообщений: 400
30.03.2013, 23:21
Это учебное задание или для реальной жизни?
0
1 / 1 / 0
Регистрация: 27.03.2013
Сообщений: 84
30.03.2013, 23:23  [ТС]
учебное задание, а это имеет значение?
0
Z3JheSBoYXQ=
 Аватар для fanatdebian
342 / 237 / 83
Регистрация: 08.07.2012
Сообщений: 577
31.03.2013, 15:23
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#!/usr/bin/env python
#coding: UTF-8
__author__ = 'spouk'
 
import shelve
 
db = 'testdb'
 
 
def openDBphone(dbname=''):
    if not dbname:
        return False
    else:
        return shelve.open(dbname)
 
 
def addPhone(openDBID='', key='', phone=''):
    if key and phone and openDBID:
        if isinstance(key, str) and isinstance(phone, str):
            openDBID[key] = phone
            return True
        else:
            return False
    else:
        return  False
 
 
def getPhone(openDBID='', key=''):
    if openDBID and key:
        if isinstance(key, str):
            result = openDBID.get(key)
            return result
        else:
            return False
    else:
        return False
 
 
def erasePhone(openDBID='', key=''):
    if openDBID and key:
        if isinstance(key, str):
            if key in openDBID.keys():
                del openDBID[key]
                openDBID.close()
                return True
            else:
                return False
    else:
        return False
 
 
def closeDBphone(openDBID=''):
    if not openDBID:
        return False
    else:
        openDBID.close()
        return True
 
 
dbs = openDBphone(db)
print dbs
addPhone(dbs, 'Пукин Вася', '888-88-88')
addPhone(dbs, 'Жаркова Валька', '777-77-77')
print getPhone(dbs, 'Пукин Вася')
closeDBphone(dbs)
1
1 / 1 / 0
Регистрация: 27.03.2013
Сообщений: 84
31.03.2013, 16:00  [ТС]
спасибо, но вы немного не поняли меня, например пользователь вводит "X" ему предлагается ввести номер телефона, или другую букву, то есть вводя определенную букву можно добавлять, удалять и т.д.
0
 Аватар для mabut
2 / 2 / 0
Регистрация: 10.04.2012
Сообщений: 57
01.04.2013, 11:24
Цитата Сообщение от cenationn Посмотреть сообщение
спасибо, но вы немного не поняли меня, например пользователь вводит "X" ему предлагается ввести номер телефона, или другую букву, то есть вводя определенную букву можно добавлять, удалять и т.д.
И даже из этого описания ничего не понятно.)
0
1 / 1 / 0
Регистрация: 27.03.2013
Сообщений: 84
03.04.2013, 22:12  [ТС]
Цитата Сообщение от fanatdebian Посмотреть сообщение
import shelve
можете объяснить для чего этот модуль и как он работает
0
 Аватар для mabut
2 / 2 / 0
Регистрация: 10.04.2012
Сообщений: 57
04.04.2013, 16:15
Цитата Сообщение от cenationn Посмотреть сообщение
можете объяснить для чего этот модуль и как он работает
Этот модуль хранит данные в родном формате для питона, реализован средствами этого же языка, грубо говоря альтернатива другим базам данных, что - то типа словаря.Язык может создать базу данных своими средствами, нежели подключения к MySql и др базам данных.Да поправят меня более опытные, если я не прав))Убери shelve, создай коннекцию к MySql и кидай туда свои данные и изымай оттуда же
0
1 / 1 / 0
Регистрация: 27.03.2013
Сообщений: 84
06.04.2013, 21:48  [ТС]
спасибо за объяснение.
помогите написать две функции:
- функция, которая будет загружать данные из файла. Вот например есть у меня функция сохранения данных файл, как на основании неё написать выше написанную функцию?
- функция, которая выводит все значения словаря в алфавитном порядке (список всех телефонов)
0
 Аватар для mabut
2 / 2 / 0
Регистрация: 10.04.2012
Сообщений: 57
08.04.2013, 14:41
Цитата Сообщение от cenationn Посмотреть сообщение
спасибо за объяснение.
помогите написать две функции:
- функция, которая будет загружать данные из файла. Вот например есть у меня функция сохранения данных файл, как на основании неё написать выше написанную функцию?
- функция, которая выводит все значения словаря в алфавитном порядке (список всех телефонов)
Смотри. данные из файла:
покажи, что за функция, а так загружать данные из файла
Python
1
2
f = open('workfile', 'w') # тут указываешь путь к файлу и с каким параметром открывать
print f
почитай

на счет вывода словаря тоже не понятно, тебе именно сами значения? Или у тебя ключи по порядку и по ним?
0
1 / 1 / 0
Регистрация: 27.03.2013
Сообщений: 84
10.04.2013, 18:37  [ТС]
функция загрузки данных из файла должна загружать данные из файла и выводить их на экран. Много чего попробовал, но не как не получается написать эту функцию.
функция вывода данных в алфавитном порядке подразумевает вывод всех значений справочника в алфавитном порядке, то есть все номера выводятся на экран в алфавитном порядке
0
 Аватар для mabut
2 / 2 / 0
Регистрация: 10.04.2012
Сообщений: 57
11.04.2013, 00:15
Цитата Сообщение от cenationn Посмотреть сообщение
функция загрузки данных из файла должна загружать данные из файла и выводить их на экран. Много чего попробовал, но не как не получается написать эту функцию.
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
L = u'путь файлу/example.txt' # там лежит какой-то текст
 
def outfile(*args, **kwargs): # создаем функцию. И аргументы)простенько.
    f = open(L, 'r')                # открываем файл на чтение
    X = f.read()                    # выводим на экран, то что в файле, здесь можно выводить как тебе вздумается,сюда                        
                                        # можно добавить формат вывода
    f.close()                         # закрываем
outfile(L)                            # применение функции
 
 
def infile(*args, **kwargs):  #Функция записи в файл, на всякий случай
    f = open(L, 'w')
    f.write('4o kak') # запись в файл, сюда можно добавить формат записи
    f.close()
infile(L)
Цитата Сообщение от cenationn Посмотреть сообщение
функция вывода данных в алфавитном порядке подразумевает вывод всех значений справочника в алфавитном порядке, то есть все номера выводятся на экран в алфавитном порядке
Прочти что написал. три раза: "в алфавитном порядке", цикл?рекурсия? А теперь по делу, я сам не блещу в постановке задач, о ты сядь подумай как правильно оформить сообщение. Формат данных в файле? Иванов: +79086687864, или Иванов(+79086687864), а может [Иванов][+79086687864]; Как??для всех разных вариантов разная реализация, все номер подряд или в конце каждого контакта стоит \n? Тоже самое сказать человеку, сделай так чтоб результатом мат. Выражения было 3. Ну и получается 1+1+1 или 1*3 или 2*x=3, конкретный опрос без тавтологий, конкретный ответ Без обид
0
1 / 1 / 0
Регистрация: 27.03.2013
Сообщений: 84
14.04.2013, 13:19  [ТС]
все спасибо, разобрался
Цитата Сообщение от mabut Посмотреть сообщение
А теперь по делу, я сам не блещу в постановке задач, о ты сядь подумай как правильно оформить сообщение.
то что я написал было написано в задании я не придумывал формулировку, так что извиняюсь... в любом случии спасибо, уже написал сам.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
14.04.2013, 13:19
Помогаю со студенческими работами здесь

Написать программу, которая реализует телефонный справочник
Написать программу, которая реализует телефонный справочник. В справочнике содержится следующая информация о каждом абонента: имя и...

Написать программу, описывающую массив записей – телефонный справочник однокурсников
Помогите переделать 4. Написать программу, описывающую массив записей – телефонный справочник однокурсников – и обеспечивающую ввод...

Написать программу, описывающую массив записей – телефонный справочник однокурсников – и обеспечивающую ввод данных
4. Написать программу, описывающую массив записей – телефонный справочник однокурсников – и обеспечивающую ввод данных, поиск номера...

Написать программу "Телефонный справочник"
Телефонный справочник. Составить программу формирования данных об абонентах телефонов: Ф.И.О., телефон. Организовать поиск фамилий...

Написать программу "Телефонный справочник". По введенной фамилии программа должна выдавать соответствующий номер телефона, если он имеется
Написать программу "Телефонный справочник". По введенной фамилии программа должна выдавать соответствующий номер телефона, если он...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru