Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.56/18: Рейтинг темы: голосов - 18, средняя оценка - 4.56
0 / 0 / 0
Регистрация: 06.12.2013
Сообщений: 8

Как заменить алгоритм телефонного справочника на эквивалентный?

06.12.2013, 23:33. Показов 3655. Ответов 22
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
мне нужно чуть изменить программу.
но нет особых знаний(
Программу написал. работает.
но учитель сказал изменить ее.. но как это сделать уже не знаю.

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
# -*- coding: cp1251 -*-
print('Телефонный справочник')
names=open('phone.txt','r')
a=names.readlines()
surname={}
for i in a:
            person = i.split(' ')
            surname[person[0]]=[person[1], person[2]]
number={}
for i in a:
            person=i.split(' ')
            number[person[2]]=[person[0], person[1]]
while 1:
    print('1 – Поиск по фамилии')
    print('2 - Поиск по номеру телефона')
    print('3 – Добавить абонента')
    print('4 – Отобразить список всех людей в алфавитном порядке')
    print('5 – Выход из программы')
    data = raw_input('Выберете пункт меню. Введите его номер: ')
    if data == '1':    
        for o in a:
            o = raw_input('Введите фамилию: ')
            if o in surname:
                print('Имя: %s Номер: %s' % (surname[o][0], surname[o][1]))
                break
            else:
                print('Абонент с такой фамилией не найден')
                break       
    if data == '2':
        for x in a:
            x = raw_input('Введите телефон: ')
            if x in number:
                print('Фамилия: %s Имя: %s' % (number[o][0], number[o][1]))
                break
            else:
                print('Абонент с таким телефоном не найден')
                break
    if data == '3':
        f = raw_input('Фамилия: ')
        n = raw_input('Имя: ')
        p = raw_input('Телефон: ')
        with open("phone.txt", "r+") as Phone:
            Phone.write(f + " " + n + " " + p)
        print('Абонент добавлен')
    if data == '4':
        alph = surname.keys()
        alph.sort()
        for i in alph:
            print(i)
    if data == '5':
        print('Выход из программы')
        break
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
06.12.2013, 23:33
Ответы с готовыми решениями:

Создание телефонного справочника: как искать в БД?
Всем привет! Помогите пожалуйста с решением вопроса.. Я хочу создать телефонный справочник на языке С# в Windows Forms Я создал базу в...

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

Создание телефонного справочника в Си
Привет всем! пишу по учебе телефонный справочник, пока считывает информацию только с клавиатуры( потому что пару, на которой...

22
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
14.12.2013, 20:31
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от aktivion Посмотреть сообщение
И "!=" что это?
Это знак значит неравно.

Цитата Сообщение от aktivion Посмотреть сообщение
self.contacts = open('phone.txt').readlines()
Эта строка записывает в self.contacts список строк файла, а дальше проверяется каким символом заканчивается последняя строка. Если последняя строка заканчивается не на знак конца строки, то к существующей строке прибавляется знак конца строки.
1
0 / 0 / 0
Регистрация: 06.12.2013
Сообщений: 8
14.12.2013, 21:12  [ТС]
Цитата Сообщение от tsar925 Посмотреть сообщение
Python
1
2
3
4
5
6
        temp = 0
        for i in self.contacts:
            if i.find(name) != -1:
                print(i)
                temp += 1
        if not temp:
объясните эти строки
0
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
14.12.2013, 21:21
temp нужна, чтобы понять было найдено слово или нет, если слово будет не найдено значение переменной будет 0, в другом случае отлично от 0.
В цикле перебирается элементы списка (элемент списка это один контакт) и в этих контактах ищется совпадение по введным данным.

P.S Программа очень простая. Вообще я бы тебе рекомендовал самому пробовать делать домашку, дальше хуже будет. Программы больше и больше будут и писать их за тебя и объяснять их тебе мало кто захочет.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
14.12.2013, 21:21
Помогаю со студенческими работами здесь

Создание телефонного справочника
Пытаюсь изучить язык perl. Помогите советом и практически. Вообщем поставил задачу создать справочник. В качестве БД обычный текстовый...

Создание телефонного справочника
Летняя сессия, курсовая. Ниже задание Создать класс: «Запись в справочнике» (абстрактный, имеет список телефонов, среди которых первый...

Сортировка телефонного справочника
В файле содержатся данные телефонной книги: имя, фамилия, отчество и номер абонента. В новый файл переписать данные обо всех абонентах,...

Создание телефонного справочника
Здравствуйте, Господа.Скажите пожалуйста, как создать Телефонный справочник с полями ФИО,Номер телефона, адрес почты на 1 с Битрикс?

Форматирование телефонного справочника
Имеется некий список телефонных номеров, которые записаны по-разному. Например: 89006548005, 79260472489, +77017109088, 246-73-32,...


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

Или воспользуйтесь поиском по форуму:
23
Ответ Создать тему
Новые блоги и статьи
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит токи на L и напряжения на C в установ. режимах до и. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
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
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru