Уведомления

Группа в Telegram: @pythonsu

#1 Июнь 22, 2013 20:49:53

alexefremo
Зарегистрирован: 2013-06-22
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

ввод данных по запросу bottle

Здравствуйте. Перед мной стоит следующая задача: есть одна база данных с учениками в которой содержится ФИО и дата рождения. И есть импортируемый файл csv, в котором содержится информация об учениках, участвовавших в олимпиаде. При импорте файла запускается цикл сравнения ФИО учеников. В базе учеников могут содержаться ученики с одинаковыми ФИО. Поэтому и необходим алгоритм сравнения учеников на наличие двух одинаковых. Что бы оставить только одного ученика.

 
for idx, d in enumerate(student):
            for ids, s in enumerate(student):
                if d['Name'] == s['Name'] and idx != ids:
                    print d,idx
                    l=raw_input('input number to delete')
                    student.pop(int(l))
        for m in student:
	    for k in olympiad:
		  if m['Name']==k['Name']:
                    this.append(k)
Это код на сравнение в Питоне. Помогите пожалуйста “перевести” этот код на интерфейс фреймворка bottle. так как общаться с командной строкой как-то не то. Спасибо огромное.

Отредактировано alexefremo (Июнь 22, 2013 20:51:04)

Офлайн

#2 Июнь 23, 2013 09:50:51

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  252  -
Профиль   Отправить e-mail  

ввод данных по запросу bottle

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

В вашем случае гораздо проще скинуть всех студентов в файл на построчной основе и почистить список текстовым редактором. Это будет и гораздо удобнее чем web интерфейс.



Офлайн

#3 Июнь 23, 2013 10:03:53

alexefremo
Зарегистрирован: 2013-06-22
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

ввод данных по запросу bottle

Абсолютно с вами согласен. Пользовательский интерфейс необходим для самостоятельного “выбора” какому ученику добавить запись. Уже существуют списки с олимпиадами без айдишников. Поэтому и необходимо такое решение проблемы.

Офлайн

#4 Июнь 23, 2013 12:20:08

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  252  -
Профиль   Отправить e-mail  

ввод данных по запросу bottle

Какого объема база и файлы с результатами олимпиады?



Офлайн

#5 Июнь 23, 2013 12:37:10

alexefremo
Зарегистрирован: 2013-06-22
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

ввод данных по запросу bottle

База состоит из учеников. 11 классов. по 4 параллели человек по 3. порядка 1000 записей. в запись ученика добавляется запись с олимпиадой. субд - MongoDB. Происходит сравнение с временной базой олимпиад в которых информация об ученике, его ФИО и дата рождения, и базой учеников, те же ФИО и дата рождения. Если эти значения равны в запись ученика добавляется информация об олимпиаде. Структура документа ученик:
{“ФИО”:“Петров Петр Петрович”
“Дата рождения”:“21.12.2002”
Олимпиады:[{
“Название”:“Олимпиада по русскому языку”,
“Баллов”:“60”,
“Место”:“”},
“Название”:“Олимпиада по немецкому языку”,
“Баллов”:“80”
“Место”:“1е”}]}


Офлайн

#6 Июнь 23, 2013 12:38:13

alexefremo
Зарегистрирован: 2013-06-22
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

ввод данных по запросу bottle

Допустим я могу передать данные, но для этого мне нужно получить другой темплейт, что выведет меня из цикла. Как мне получить это в цикле?

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version