#coding: utf-8 import csv def bible(a): if a == 'выход': exit() if a == 'меню': vibor() #a = raw_input('Введите запрос: ') reader = csv.reader(open("data.csv", "rb",),delimiter=';') name = 'По заданому запросу иформации не найдено' for x in reader: if len(x) == 3 and a == x[2]: name = x[0], x[1] elif len(x) == 3 and a == x[0]: name = x[1], x[2] print name def writer(b): if b == 'выход': exit() if b == 'меню': vibor() writer = csv.writer(open('data.csv', 'a'), delimiter=';').writerow(raw_input('Внесите данные: ').split()) def vibor(): v = raw_input('Выберите режим работы (внести, найти, выход): ') if v == 'внести': while not writer(raw_input('Внесите данные: ')): pass elif v == 'найти': while not bible(raw_input('Введите запрос: ')): pass else: exit() vibor()
Меню работает отлично, возврать в меню из любой функции тоже работает, проблемму с пустыми строками вродь решил, но думаю , что можно более читабельно ресделать.
Возникли следующие проблеммы:
- при поиске выводит “не красивый” ответ,
Введите запрос: 4 ('2', '3')
- запись в файл получается со второго раза, точнее каждый втрой ввод - записывается в файл, побороть не смог.
Спасибо за предоставленную помощь и на деюсь на новую.