Модераторы: Daevaorn

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Спешу похвастаться! С удовольствием приму поздравления))) 
V
    Опции темы
proDiva
Дата 26.9.2006, 14:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 130
Регистрация: 19.9.2006
Где: КЧР, Россия

Репутация: 7
Всего: 7



Я закончила свою первую прогу на питоне!!! Ее функции: 1. Читает xml-файлы с электронными платежными документами (для незнающих: это банковские платежки); 2. Создает dbf-файл и закачивает в него данные из xml-файла; 3. Корректирует наименования счетов (находит их в текстовом файле); 4. Печатает реестр электронных документов; 5. Формирует новый xml-файл с исправлениями.

Если таким же начинающим, как я, интересен код, могу скинуть по электронке.
PM MAIL ICQ   Вверх
J2A
Дата 26.9.2006, 15:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 171
Регистрация: 17.11.2005
Где: Омск

Репутация: 16
Всего: 18



Цитата(proDiva @ 26.9.2006,  17:25)
2. Создает dbf-файл и закачивает в него данные из xml-файла;

Какой модуль используешь?
--------------------
Be easy, stay cool
PM MAIL WWW Jabber   Вверх
pythonwin
Дата 26.9.2006, 15:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 2529
Регистрация: 18.4.2006
Где: за компом

Репутация: 14
Всего: 36



Цитата(proDiva @  26.9.2006,  21:25 Найти цитируемый пост)

Если таким же начинающим, как я, интересен код, могу скинуть по электронке.


а почему на форуме не можешь выложить? smile
PM WWW GTalk Jabber   Вверх
proDiva
Дата 26.9.2006, 15:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 130
Регистрация: 19.9.2006
Где: КЧР, Россия

Репутация: 7
Всего: 7



Цитата(J2A @  26.9.2006,  15:08 Найти цитируемый пост)
Какой модуль используешь? 

dbf.py

Цитата(pythonwin @  26.9.2006,  15:30 Найти цитируемый пост)
а почему на форуме не можешь выложить?

код очень длинный. 
Могу выложить отдельные функции. Не могу ручаться за рациональное построение программы, но, что все верно работает, гарантирую. Как мне уже сказали, есть много готовых модулей, а я дедовским методом писала ручками.
PM MAIL ICQ   Вверх
J2A
Дата 26.9.2006, 18:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 171
Регистрация: 17.11.2005
Где: Омск

Репутация: 16
Всего: 18



Цитата(proDiva @ 26.9.2006,  18:51)
Цитата(J2A @  26.9.2006,  15:08 Найти цитируемый пост)
Какой модуль используешь? 

dbf.py

Не самый быстрый, не самый удобный. Альтернативы см. на http://omsk.lug.ru/wacko/Python/Dbf
--------------------
Be easy, stay cool
PM MAIL WWW Jabber   Вверх
PyAlexey
Дата 27.9.2006, 07:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 57
Регистрация: 19.9.2006
Где: Россия, Нижний Но вгород

Репутация: 6
Всего: 7



Цитата(proDiva @  26.9.2006,  15:51 Найти цитируемый пост)
код очень длинный. 

Так выкладывайте, уважаемая, архив в аттач сообщения )).
PM   Вверх
pythonwin
Дата 27.9.2006, 07:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 2529
Регистрация: 18.4.2006
Где: за компом

Репутация: 14
Всего: 36



Цитата(PyAlexey @  27.9.2006,  14:22 Найти цитируемый пост)

Так выкладывайте, уважаемая, архив в аттач сообщения )). 

Поддерживаю!

proDiva, если сможешь, то пожалуйста, - выложи код. smile

если тебя потом за это накажут на работе, но можешь не выкладывать - думаю все поймут. smile

Но если выложишь на форум код, то возможно в результате совместной работе у тебя будет более совершенный код + ты получишь дополнительные знания и навыки. smile
PM WWW GTalk Jabber   Вверх
PyAlexey
Дата 27.9.2006, 08:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 57
Регистрация: 19.9.2006
Где: Россия, Нижний Но вгород

Репутация: 6
Всего: 7



Цитата(pythonwin @  27.9.2006,  07:51 Найти цитируемый пост)
Но если выложишь на форум код, то возможно в результате совместной работе у тебя будет более совершенный код + ты получишь дополнительные знания и навыки. smile 

И интелегентную мужскую компанию ))).
В общем, ждём.
PM   Вверх
proDiva
Дата 27.9.2006, 10:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 130
Регистрация: 19.9.2006
Где: КЧР, Россия

Репутация: 7
Всего: 7



Цитата(PyAlexey @  27.9.2006,  08:31 Найти цитируемый пост)
И интелегентную мужскую компанию )))

Ну тогда подсказывайте, интеллигентная мужская компания)), куда и как выкладывать, а то "в аттач сообщения" - мне не о чем не говорит))))
 
Цитата(pythonwin @  27.9.2006,  07:51 Найти цитируемый пост)
то возможно в результате совместной работе у тебя будет более совершенный код + ты получишь дополнительные знания и навыки.

а по-моему, интеллигентная мужская компания просто хочет убедиться, что девушки не умеют программировать......... и лишний раз убедиться в своем превосходстве)))
Парни, я нисколько этому не сопротивляюсь, у вас мышление для программирования "качественней"!
PM MAIL ICQ   Вверх
PyS
Дата 27.9.2006, 10:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 149
Регистрация: 21.8.2006
Где: г. Алматы (Казахс тан)

Репутация: нет
Всего: 1



Цитата(proDiva @  27.9.2006,  13:22 Найти цитируемый пост)

Ну тогда подсказывайте, интеллигентная мужская компания)), куда и как выкладывать, а то "в аттач сообщения" - мне не о чем не говорит))))

это как вложения в эл. почте smile

Цитата(proDiva @  27.9.2006,  13:22 Найти цитируемый пост)

а по-моему, интеллигентная мужская компания просто хочет убедиться, что девушки не умеют программировать......... и лишний раз убедиться в своем превосходстве)))


нет! smile
Думаю, что любопытство движет нами! smile
PM MAIL   Вверх
pythonwin
Дата 27.9.2006, 11:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 2529
Регистрация: 18.4.2006
Где: за компом

Репутация: 14
Всего: 36



Цитата(proDiva @  27.9.2006,  17:22 Найти цитируемый пост)

Парни, я нисколько этому не сопротивляюсь, у вас мышление для программирования "качественней"!

 smile 
что-то среди первых программистов много было женщин.

Добавлено @ 11:00 
 smile 
PM WWW GTalk Jabber   Вверх
PyS
Дата 27.9.2006, 11:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 149
Регистрация: 21.8.2006
Где: г. Алматы (Казахс тан)

Репутация: нет
Всего: 1



proDiva, тебе с атачем помочь?
PM MAIL   Вверх
proDiva
Дата 27.9.2006, 11:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 130
Регистрация: 19.9.2006
Где: КЧР, Россия

Репутация: 7
Всего: 7



Цитата(PyS @  27.9.2006,  11:06 Найти цитируемый пост)
тебе с атачем помочь?

Спасибо, уже подсказали.

Цитата(pythonwin @  27.9.2006,  11:00 Найти цитируемый пост)
что-то среди первых программистов много было женщин.

У женщин память лучше, но творческое мышление развито хуже....... т.е. что-то новое нам трудно изобретать, но зато пользуемся чужим опытом превосходно smile

Добавлено @ 11:35 
Щас посмотрим, что получится)))

Добавлено @ 11:37 
Урра! получилось))

Присоединённый файл ( Кол-во скачиваний: 37 )
Присоединённый файл  XML_Editor.pyw 70,06 Kb
PM MAIL ICQ   Вверх
PyS
Дата 27.9.2006, 12:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 149
Регистрация: 21.8.2006
Где: г. Алматы (Казахс тан)

Репутация: нет
Всего: 1



во вложении
Думаю, что proDiva, будет не против. smile

Присоединённый файл ( Кол-во скачиваний: 26 )
Присоединённый файл  ProDiva.zip 20,68 Kb
PM MAIL   Вверх
ser_gen
Дата 27.9.2006, 12:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 25.9.2006

Репутация: 1
Всего: 1



        #возвращает дату (yyyy-mm-dd) в формате dd.mm.yyyy
        #r-входящая дата

По моему это лучше оформить ввиде строки документации

def dataform(self, r):
        """
           возвращает дату (yyyy-mm-dd) в формате dd.mm.yyyy
           r-входящая дата
        """

Ну и далее тоже самое.
А так ничего.
PM MAIL   Вверх
PyAlexey
Дата 27.9.2006, 12:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 57
Регистрация: 19.9.2006
Где: Россия, Нижний Но вгород

Репутация: 6
Всего: 7



ser_gen, а ещё лучше — в Epytext Markup Language (epydoc).
А так, пока нет времени смотреть исходники.
PM   Вверх
pythonwin
Дата 27.9.2006, 13:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 2529
Регистрация: 18.4.2006
Где: за компом

Репутация: 14
Всего: 36



Отлично!
может J2A что-то мощное предложит?
PM WWW GTalk Jabber   Вверх
proDiva
Дата 27.9.2006, 13:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 130
Регистрация: 19.9.2006
Где: КЧР, Россия

Репутация: 7
Всего: 7



Цитата(PyS @  27.9.2006,  12:04 Найти цитируемый пост)
Думаю, что proDiva, будет не против.

Для полноты архива не хватает пробного xml-файла..... чтобы проверить работу программы.

Добавлено @ 13:15 
Цитата(proDiva @ 27.9.2006,  13:14)
Цитата(PyS @  27.9.2006,  12:04 Найти цитируемый пост)
Думаю, что proDiva, будет не против.

Для полноты архива не хватает пробного xml-файла..... чтобы проверить работу программы.

Вот выкладываю.

Это сообщение отредактировал(а) proDiva - 27.9.2006, 15:03
PM MAIL ICQ   Вверх
PyS
Дата 27.9.2006, 13:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 149
Регистрация: 21.8.2006
Где: г. Алматы (Казахс тан)

Репутация: нет
Всего: 1



Цитата(proDiva @  27.9.2006,  16:14 Найти цитируемый пост)
Присоединённый файл  A9C0H91M.O0X 2,12 Kb

Это xml-файл?
PM MAIL   Вверх
PyAlexey
Дата 27.9.2006, 13:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 57
Регистрация: 19.9.2006
Где: Россия, Нижний Но вгород

Репутация: 6
Всего: 7



Цитата(PyS @  27.9.2006,  13:18 Найти цитируемый пост)
Это xml-файл? 

Да, со расширением )).
PM   Вверх
PyS
Дата 27.9.2006, 13:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 149
Регистрация: 21.8.2006
Где: г. Алматы (Казахс тан)

Репутация: нет
Всего: 1



Цитата(proDiva @  27.9.2006,  16:14 Найти цитируемый пост)

Присоединённый файл  A9C0H91M.O0X 2,12 Kb

Спасибо!
PM MAIL   Вверх
PyAlexey
Дата 27.9.2006, 14:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 57
Регистрация: 19.9.2006
Где: Россия, Нижний Но вгород

Репутация: 6
Всего: 7



proDiva
Короче, посмотрел я код. Как здесь уже говорили, лучше было бы использовать другой модуль для dbf. Также стоило использовать нормальный модуль для xml. Далее. Зачем везде писали путь для файлов? К тому же такие: ‘c:/XML_Editor/’. Надо было использовать переменные, а пути делать относительными.

Честно говоря, мне не понятно, Вы первый раз пишите на Питоне или программу вообще?
PM   Вверх
Vach
Дата 27.9.2006, 14:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 304
Регистрация: 17.10.2003
Где: Санкт-Петербург

Репутация: 4
Всего: 18



proDiva, какой у тебя wx стоит (или версия другая или я того...)? + при кодировки не cp1251 запустить не получается (мой случай)
PM MAIL ICQ   Вверх
proDiva
Дата 27.9.2006, 15:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 130
Регистрация: 19.9.2006
Где: КЧР, Россия

Репутация: 7
Всего: 7



Цитата(PyAlexey @  27.9.2006,  14:05 Найти цитируемый пост)
Честно говоря, мне не понятно, Вы первый раз пишите на Питоне или программу вообще? 

Первый раз на питоне
а в замечаниях вы правы........ я говорила, что не уверена в рациональности
насчет путей, исправлю....... просто я делала все по частям, а потом собрала в кучу....... и получилось, что везде прописаны пути)) (мне бывший коллега тоже все время говорил, не вбивать пути...... как видите, продолжаю)
а с xml я работаю впервые и выбрала вариант, который смогла разобрать по частям.

Цитата(Vach @  27.9.2006,  14:51 Найти цитируемый пост)
какой у тебя wx стоит (или версия другая или я того...)?

версия 2.6
PM MAIL ICQ   Вверх
J2A
Дата 27.9.2006, 18:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 171
Регистрация: 17.11.2005
Где: Омск

Репутация: 16
Всего: 18



Для первого опыта вполне удачно.

1. Не нужно импортировать os.path, он доступен и при импорте просто os
2. Не рекомендуется делать "from foo import *", следует либо "from foo import Foo, Bar", либо "import foo". Почему: не знаешь точно какие переменные импортировала. Так кстати и быстрей.
3. По стилю все же рекомендуется классы называть с большой буквы, т.е. не "class foo", а "class Foo"
4. Переформатирования слишком сложны (класс dataload). Можно сделать гораздо проще. Например так: 
а) переформатирование даты '.'.join(reversed('2006-05-25'.split('-'))) (можно для увеличения читабельности разбить по переменным).
б) переформатирования дробного "%.2f" % value
в) выравнивание строки пробелами влево/вправо: mystr.ljust(n), аналогично и .rjust
г) ну и я бы не оформлял как класс (никакого преимущества нет, т.к. не использует ни один атрибут), а оформил как функции. С учетом вышеперечисленных примеров, выделять в функцию стоит лишь переформатирование даты, остальное и так в одну конструкцию smile
5. Не стоит городить огород с if .. elif .. elif .. elif .. else. Возможно, проще будет записать словарем.
6. Всё же лучше разбить по модулям. 70кб-исходник тяжко читать, да и реиспользовать потом проще будет.

Извини, дальше меня не хватило...

Это сообщение отредактировал(а) J2A - 27.9.2006, 19:20
--------------------
Be easy, stay cool
PM MAIL WWW Jabber   Вверх
proDiva
Дата 27.9.2006, 19:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 130
Регистрация: 19.9.2006
Где: КЧР, Россия

Репутация: 7
Всего: 7



Цитата(J2A @  27.9.2006,  18:47 Найти цитируемый пост)
Извини, дальше меня не хватило...

На долго же тебя хватило smile  Нужно это все записать, а то не запомню все сразу.
Я про это и говорила, что не знаю готовых функций для того или иного действия, поэтому громоздила громадный код. По всем этим мелочам неудобно новые темы открывать и мучать людей своими вопросами smile 

Я знаю, что все можно было написать проще и удобнее. Но я все равно довольна, что я ее доделала, а главное - что она работает! Потому что когда я начинала ее писать, я питоновский код впервые в глаза увидела. Как наш зав.кафедрой на лекциях говорил: "Есть прорыв! Идем дальше!"
Так что, интеллигентная мужская компания, продолжайте учить дальше smile 

PM MAIL ICQ   Вверх
PyAlexey
Дата 27.9.2006, 20:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 57
Регистрация: 19.9.2006
Где: Россия, Нижний Но вгород

Репутация: 6
Всего: 7



Кстати, проверьте свой код на вшивость: http://pychecker.sourceforge.net/
PM   Вверх
J2A
Дата 27.9.2006, 20:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 171
Регистрация: 17.11.2005
Где: Омск

Репутация: 16
Всего: 18



Цитата(PyAlexey @ 27.9.2006,  23:12)
Кстати, проверьте свой код на вшивость: http://pychecker.sourceforge.net/

Проверьте pylint'ом и ужаснитесь smile это не к коду ProDiva или PyAlexey, а ко всем smile

Это сообщение отредактировал(а) J2A - 27.9.2006, 20:44
--------------------
Be easy, stay cool
PM MAIL WWW Jabber   Вверх
pythonwin
Дата 28.9.2006, 07:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 2529
Регистрация: 18.4.2006
Где: за компом

Репутация: 14
Всего: 36



Цитата(J2A @  28.9.2006,  03:36 Найти цитируемый пост)
Проверьте pylint'ом и ужаснитесь smile это не к коду ProDiva или PyAlexey, а ко всем smile

Это что такое?
PM WWW GTalk Jabber   Вверх
pythonwin
Дата 28.9.2006, 08:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 2529
Регистрация: 18.4.2006
Где: за компом

Репутация: 14
Всего: 36



Цитата(J2A @  28.9.2006,  03:36 Найти цитируемый пост)
роверьте pylint'ом и ужаснитесь smile

А можешь показать пример использования? smile

Это сообщение отредактировал(а) pythonwin - 28.9.2006, 08:21
PM WWW GTalk Jabber   Вверх
PyAlexey
Дата 28.9.2006, 15:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 57
Регистрация: 19.9.2006
Где: Россия, Нижний Но вгород

Репутация: 6
Всего: 7



Цитата(J2A @  27.9.2006,  20:36 Найти цитируемый пост)
Проверьте pylint'ом и ужаснитесь

GNU GCC, кстати, очень много ошибок в коде proDiva находит. Вот уж есть над чем ужаснуться.
PM   Вверх
slav0nic
Дата 28.9.2006, 15:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 129
Регистрация: 17.5.2006

Репутация: 4
Всего: 5



pylint надо с параметрами запускать, так он мне влепил -2 балла)) и джаббер клиенту Gajim - тоже, основная часть ошибок - формирование кода, пробелы одиночные, а не табы и тп
--------------------
                                 python.com.ua 
PM MAIL WWW Jabber   Вверх
proDiva
Дата 28.9.2006, 16:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 130
Регистрация: 19.9.2006
Где: КЧР, Россия

Репутация: 7
Всего: 7



Цитата(PyAlexey @  28.9.2006,  15:33 Найти цитируемый пост)
GNU GCC, кстати, очень много ошибок в коде proDiva находит. Вот уж есть над чем ужаснуться.

может оставим мой код в покое? такое ощущение как-будто я его на олимпиаду выставила с большим денежным главным призом)))
Цитата(proDiva @  26.9.2006,  14:25 Найти цитируемый пост)
Если таким же начинающим, как я, интересен код, могу скинуть по электронке.

как видите, я его не профессионалам предлагала изучить)))
PM MAIL ICQ   Вверх
pythonwin
Дата 29.9.2006, 07:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 2529
Регистрация: 18.4.2006
Где: за компом

Репутация: 14
Всего: 36



Цитата(proDiva @  28.9.2006,  23:31 Найти цитируемый пост)

может оставим мой код в покое? такое ощущение как-будто я его на олимпиаду выставила с большим денежным главным призом)))


proDiva, ты главное не переживай - поругали - исправь код - поругают - исправь код - .... - исправь код - похвалили!

В конще этой цепочки получишь прекрасный код + навыки.
И ещё - тебя уже похвалил J2A:
Цитата(J2A @  28.9.2006,  01:47 Найти цитируемый пост)
Для первого опыта вполне удачно.


Поэтому не растраивайся smile
PM WWW GTalk Jabber   Вверх
proDiva
Дата 29.9.2006, 08:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 130
Регистрация: 19.9.2006
Где: КЧР, Россия

Репутация: 7
Всего: 7



Цитата(pythonwin @  29.9.2006,  07:39 Найти цитируемый пост)
proDiva, ты главное не переживай - поругали - исправь код - поругают - исправь код - .... - исправь код - похвалили!

В конще этой цепочки получишь прекрасный код + навыки.
И ещё - тебя уже похвалил J2A:

В этой программе при всем уважении к Вам я ничего менять не буду - ни времени, ни желания! С понедельника уже с ней будут работать, завтра поставлю. Exe-шник уже подготовила.

А навыки и Ваши советы буду применять уже в следующих тех.заданиях, так что не расслабляйтесь smile 
PM MAIL ICQ   Вверх
PyS
Дата 29.9.2006, 12:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 149
Регистрация: 21.8.2006
Где: г. Алматы (Казахс тан)

Репутация: нет
Всего: 1



Цитата(proDiva @  29.9.2006,  11:22 Найти цитируемый пост)

А навыки и Ваши советы буду применять уже в следующих тех.заданиях, так что не расслабляйтесь smile 


Вот и прекрасно! smile
PM MAIL   Вверх
dvska
  Дата 29.9.2006, 16:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 182
Регистрация: 30.1.2006

Репутация: 6
Всего: 9



Цитата(proDiva @ 27.9.2006,  19:31)
Я про это и говорила, что не знаю готовых функций для того или иного действия, поэтому громоздила громадный код. По всем этим мелочам неудобно новые темы открывать и мучать людей своими вопросами smile 

А вот это зря. Форум для того и нужен. А потом и другие новички по этим темам учиться будут.

Бери пример с Pythonwin-а ;)
--------------------
PM MAIL   Вверх
cherep
Дата 2.10.2006, 01:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 74
Регистрация: 11.1.2006
Где: Москва

Репутация: 1
Всего: 4



По моему это провокация. =) 
Для первого раза на питоне действительно очень неплохо. Видно, что proDiva имеет солидный опыт программирования в других языках. Единственно, мне показалось, что программа написана местами достаточно в процедурном стиле, на Питоне зачастую удобнее и проще использовать функц. подход.
Так держать!!!

Добавлено @ 02:07 
Про процедурный стиль...

Там есть библиотечка strutil.py

Я конечно понимаю, что она 99 года, но все равно интересно, насколько не по питоновски там написаны функции.

Возьмем к примеру 

Код

def stripLeading(aString, aChar):
    # answer a String which is aString with leading aChar's removed
    # jjk  01/11/96
    s1 = aString
    p1 = 0
    while ((p1 < len(s1)) and (s1[p1] == aChar)):
        p1 = p1 + 1
    if (p1 > 0):
        s1 = s1[p1:]
    return(s1)


С ходу можно переписать так

Код

def stripLeading1(s, ch):
    while s[0] == ch:
        s = s[1:]
    
    return s


А если поднапрячься, то и вовсе так:

Код

def stripLeading2(s, ch):
    import re
    return re.sub(r"^"+ch+"+", "", s)

PM MAIL WWW ICQ   Вверх
cherep
Дата 2.10.2006, 02:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 74
Регистрация: 11.1.2006
Где: Москва

Репутация: 1
Всего: 4



Код

m = m + s --> m += s

if a != "" and b != "" and c !="": --> if a and b and c:

Вот это еще понравилось:
                    for word in line.split("+"):        # режем каждую строку на слова, ограниченные "+"
                        if i == 1:
                            data=word
                            i+=1
                        elif i == 2:
                            docno=word
                            i+=1
                        elif i == 3:
                            summa=word
                            i+=1
                        elif i == 4:
                            schet=word
                            i+=1
                        elif i == 5:
                            inn=word
                            i+=1
                        elif i == 6:
                            name=word

-->

data, docno, summa, schet, inn, name = line.split("+")


И дальше в том же духе smile
PM MAIL WWW ICQ   Вверх
Страницы: (3) [Все] 1 2 3 
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Python: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1554 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.