Форум сайта python.su
0
Интересует, как можно имя, фамилию, телефон вводить по запросу Input и далее пользоваться, как аргументом класса.
class Phone_Book: def new_contact(self, name, surname, tel): self.name = name self.surname = surname self.tel = tel print 'Person:', self.name, self.surname print 'Telephone number: ', self.tel if __name__ == '__main__': new_contact = Phone_Book() new_contact.new_contact('Vasya', 'Pupkin', 295598789)
Отредактировано oxeed (Апрель 9, 2015 14:16:47)
Офлайн
76
if __name__ == ‘__main__’: new_contact = Phone_Book() name = input("Enter name:") surname = input("Enter surname:") tel = int(input("Enter tel:")) new_contact.new_contact(name, surname, tel)
Отредактировано Romissevd (Апрель 9, 2015 14:23:26)
Офлайн
0
Продолжаю учиться на основе телефонной книги. Вопрос возник в записи значений в текстовой файл.
Создаю список с именем, фамилией, телефоном и записываю в файл. Как можно сделать так, чтобы следующий контакт( имя, фамилия, телефон) записывались в новой строке.
class PhoneBook: def new_contact(self, name, surname, tel): self.name = name self. surname = surname self.tel = tel print 'Person:', name, surname print'Telephone number: ', tel def contact_write(self, contacts): self.contacts = contacts address_book = open('address_book.txt', 'a') for item in contacts: address_book.write('%s ' % item) address_book.close() print'Contact saved' if __name__ == '__main__': new_contact = PhoneBook() while True: name = str(input('Name: ')) surname = str(input('Surname: ')) tel = str(input('Telephone number: ')) contacts = [name, surname, tel] new_contact.new_contact(name, surname, tel) new_contact.contact_write(contacts)
Отредактировано oxeed (Апрель 13, 2015 22:52:07)
Офлайн
103
address_book.write('%s\n' % item)
Офлайн
0
Возможно неправильно задал вопрос.
terabaytВ данном случае вывод записи в файл будет такой:
address_book.write('%s\n' % item)
Отредактировано oxeed (Апрель 13, 2015 23:09:34)
Офлайн
103
def contact_write(self, contacts): with open('address_book.txt', 'a') as address_book: address_book.write('%s\n' % ' '.join(contacts)) print'Contact saved'
Офлайн
0
Столкнулся со следубщей задачей. Поиск в телефонной книге.
Реализовал это, таким образом:
def search_name(name): name = name with open('address_book.txt', 'r') as address_book: for line in address_book: if name in line: print(line) else: print("Don't find") if __name__ == '__main__': name = str(input('Input name: ')) search_name(name)
Отредактировано oxeed (Апрель 15, 2015 11:27:27)
Офлайн
35
def search_name(name): with open('address_book.txt', 'r') as address_book: lines = [line for line in address_book.readlines() if name in line] if lines: for line in lines: print line else: print("Don't find") if __name__ == '__main__': name = str(input('Input name: ')) search_name(name)
Офлайн
0
botinaglines = [line for line in address_book.readlines() if name in line]
Офлайн
35
lines = [line for line in address_book.readlines() if name in line]
lines = [] for line in address_book: if name in line: lines.append(line)
Отредактировано botinag (Апрель 15, 2015 12:04:12)
Офлайн