Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Python

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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

Открыть новую тему     Написать ответ в эту тему

Adm10



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здесь обсуждается всё, что связано с использованием Python: программирование, библиотеки, ресурсы и другие вопросы

Python


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

С чего начать?
Простой, понятный и вместе с тем грамотный ресурс на русском языке: pythonworld.ru + самоучитель
Библия PEP8

Всего записей: 35 | Зарегистр. 13-10-2006 | Отправлено: 15:48 16-06-2007 | Исправлено: useretail, 21:51 22-06-2024
LevT



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
akaGM

Цитата:
если можно, то без списков, кортежей и что там ещё есть в этом террариуме

 
А тёплое с мягким тоже должны идти подряд? Людям и компам предлагается гадать, что там было задумано?
 
Кортежи и списки это сигнал (сразу и людям, и компам) о смыслах 1) сложения и 2) порядка, в котором идут значения.
 
 
Кортеж значит, что можно складывать - ровно в том же смысле, как можно складывать i + 1 или sqrt(2) + 1, с абсолютной точностью.
 
Список значит, что порядок имеет значение, а "слагаемых" допустимо произвольное количество.  
 
Зато сложение конечного числа элементов списка смысла не имеет - и не надо насиловать список если, наоборот, имеет. (Зато сумма бесконечной последовательности элементов определена - и это ровно алгоритм её обработки.)**
 
 
Питон кстати, в списках плоховат - потому что путает списки с массивами. (Могу ошибаться, знаю его поверхностно). В отличие от списков, массивов бесконечных не бывает и сложение элементов коммутативно.
 
 
----
Бывают числомолотилки, где всё это неважно. Зато может быть важна компьютерная верификация алгоритма (SAT solver, со своим языком).  
 
Зато в числомолотилках достаточно массивов, а ЯП неважен - и нефиг мучить себя и окружающих высокоуровневыми. Особенно если знаешь С.  
 
----
Но всё же смысл есть - ровно тот, чтобы текст программы был способен прочесть салага, который знает только питон и ничего больше.
 
Но сам алгоритм проверять должен SAT, а не этот салага. А что алгоритму скармливается - наоборот, нужен человек контролировать.
 
 
 
 
 
 
 
 
Добавлено:
akaGM

Цитата:
в программе на питоне надо прочитать имеющийся файл сторонней программы, формат которого строго задан, не меняется и редактированию не подлежит.

 
Техзадание неточно.
Потому что "формат задан" не поддаётся однозначной интерпретации.
 
Алгебраические типы данных как раз чтобы работать с такими неточными заданиями  - а не выбивать точность из заказчика.
 
 

Цитата:
зафигачил


 
Лучше найми за три копейки студента со знанием питона.
Тот напишет понятней. Тебе же самому понятней, через полгода, месяц а то и неделю.

Всего записей: 17727 | Зарегистр. 14-10-2001 | Отправлено: 12:42 12-06-2024 | Исправлено: LevT, 15:01 12-06-2024
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
U235
 
гы
фтопку...
 
я посмотрел конфиги некоторых пользователей, там всё что угодно в качестве разделителей:
 
и так
1.123е01  ; sqjbsbxc
и так
1.123е01  # sqjbsbxc
так
1.123е01   sqjbsbxc
и даже так :)
1.123е01  // sqjbsbxc
 
так что вопрос закрыт, я сделал всё что мог, а вместе со своей прогой в сопроводилове
написано что в конфиге в строках должны быть только числовые значения
1.123е01
 
хотя алгоритм парсения я придумал:
читать в строку посимвольно до первого символа не из ['0..9', '.', 'e', 'E', '-', '+']
или, лучше до первого разделителя [#32, '/n', '/r']
ну а потом float() и int()...
 
 
 
LevT
 
гы
ты адресата обращения не попутал?
 

Цитата:
Лучше найми за три копейки студента со знанием питона.
мне из своего кармана платить?
Цитата:
лично я сижу в академическом проституте, на МРОТе
цифру нарисовать или сам знаешь?
 
вот вы все тут программисты, поэтому и я здесь... спрашиваю...
 
а выглядит всё это как будь-то я пришёл с вопросом как мне закрутить рожковым ключом гайку...
а вы, все такие слесаря фигнадцатого разряда и кострукторы инструметов советуете и марку стали ключа, и ключ с кондёром, и с бесщёточным электродвигателем и с турбонаддувом...
 
шютка...

Всего записей: 24838 | Зарегистр. 06-12-2002 | Отправлено: 13:53 12-06-2024 | Исправлено: akaGM, 14:35 12-06-2024
U235

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Питон кстати, в списках плоховат - потому что путает списки с массивами.

Ничего не путает, в Python есть списки list и есть  массивы array, (нужно подключать через встроенный модуль).  Отличие в том, что списки могут содержать объекты произвольных типов, а массивы - одинаковых и ограниченного числа: float, double, разные  int'ы  и т.д. Но с появлением и развитием Numpy и его np.array, встроенный array стал уже не особо актуален.  
 
 
 
 

Всего записей: 980 | Зарегистр. 14-12-2005 | Отправлено: 14:06 12-06-2024
LevT



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
мне из своего кармана платить?

 
Ага. И я не стеснялся в своё время покупать б.у. комплектуху для самосбора серверов.
Мне потом отдавали, так же налом.
 
 

Цитата:
ты адресата обращения не попутал?

 
Нашим докторам наук алгебра и логика уже не нужны? Интегралам приготовиться?

Всего записей: 17727 | Зарегистр. 14-10-2001 | Отправлено: 14:07 12-06-2024 | Исправлено: LevT, 14:13 12-06-2024
U235

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
akaGM
Тогда может использовать пробел в качестве разделителя?

Код:
line.strip().split(' ')[0]

убираем пробелы спереди и сзади строки, затем делим по пробелам и берем первый элемент.
Или просто подключите встроенный модуль регулярок.

Всего записей: 980 | Зарегистр. 14-12-2005 | Отправлено: 14:07 12-06-2024 | Исправлено: U235, 14:17 12-06-2024
LevT



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
U235

Цитата:
Ничего не путает, в Python есть списки list и есть  массивы array, (нужно подключать через встроенный модуль).  Отличие в том, что списки могут содержать объекты произвольных типов, а массивы - одинаковых и ограниченного числа: float, double, разные  int'ы  и т.д. Но с появлением и развитием Numpy и его np.array, встроенный array стал уже не особо актуален.  

 
Эти факты вытекают из общих принципов - которые я не поленился изложить сверху.
"нежданчик" (нет!)

Всего записей: 17727 | Зарегистр. 14-10-2001 | Отправлено: 14:16 12-06-2024
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
U235

Цитата:
Тогда может использовать пробел в качестве разделителя?
здорово,
прям там поменять на это?
 
 
 
LevT
 
ы...
 
четыре резона:
 
1) никто ничего мне не отдаст
2) не множу сущностей...
3) есть многое на свете, друг LevT'итуус...
4) жизнь коротка
 
Добавлено:

Цитата:
И я не стеснялся в своё время покупать б.у. комплектуху для самосбора серверов.
кстати да, для своего же казённого писюка и... см. п.1)

Всего записей: 24838 | Зарегистр. 06-12-2002 | Отправлено: 14:24 12-06-2024
LevT



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
akaGM
 
Да я бы и без отдачи заплатил - потому что работа той комплектухи была нужна мне самому.
Не так уж много она стоила, в бутылках коньяка если считать (например).

Всего записей: 17727 | Зарегистр. 14-10-2001 | Отправлено: 14:30 12-06-2024 | Исправлено: LevT, 14:30 12-06-2024
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
U235
 
какой аварийно быстрый выход из питоновского main,
аналог Си-return или паскалевых exit/halt
 
?
 

Цитата:
убираем пробелы спереди и сзади строки, затем делим по пробелам и берем первый элемент.

    line = line.strip()
    lines_set.append(lines[i](line.split(' ')[0].strip()))
 
да, вот так заработало,
спасибо...
 
Добавлено:
 
 
LevT

Цитата:
Да я бы и без отдачи заплатил - потому что работа той комплектухи была нужна мне самому.
ну вот я так и поступал...
 
а тут не тот случай...

Всего записей: 24838 | Зарегистр. 06-12-2002 | Отправлено: 14:30 12-06-2024 | Исправлено: akaGM, 14:40 12-06-2024
U235

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
прям там поменять на это?

да, поменять и все.
еще пример с регулярками:

Код:
import re
a='  5e+67 //hgg'
r=re.search(r'[0-9\+\.\-eE]+', a)
print(r.group(0))
 

Для выхода есть функции:
quit(), exit(), sys.exit(), os._exit()
они немного отличаются по работе, см. документацию.  

Всего записей: 980 | Зарегистр. 14-12-2005 | Отправлено: 14:47 12-06-2024
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
U235

Цитата:
еще пример с регулярками:
да не надо больше, всё и так отлично-лаконично :)
 

Цитата:
Для выхода есть функции:  
ага, спасибо, заюзаю...
 
Добавлено:

Цитата:
  lines = (float, int, float)
и вот на это не ответил,
а то я как бибизян использую, хочу как учёный бибизян :)

Всего записей: 24838 | Зарегистр. 06-12-2002 | Отправлено: 14:55 12-06-2024
U235

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
akaGM
Я же вроде объяснял...
float, int  это функции.
lines=(float, int, float) - кортеж из этих функций, можно, кстати, и без скобок записать.
Например:
lines[0]('3.14')
это все равно что float('3.14') - преобразует строку в float
Не знаю, понятно ли обяснил..
 
 
 
 

Всего записей: 980 | Зарегистр. 14-12-2005 | Отправлено: 15:38 12-06-2024 | Исправлено: U235, 15:38 12-06-2024
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
U235

Цитата:
Я же вроде объяснял...
 
Не знаю, понятно ли обяснил..
ну для человека, кот. не знает что такое кортеж...
вернее, знает, но только что это -- кавалькада машин :)
 
не не объяснил -- я не понял...
 
зачем кортеж функций? и что оно делает вот здесь:
 
lines_set.append(lines[i](line.split(' ')[0].strip()))
 
впрочем, не хочешь, забей...

Всего записей: 24838 | Зарегистр. 06-12-2002 | Отправлено: 15:45 12-06-2024
LevT



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
akaGM
 
Ерундой страдаешь.
 Хочешь научить своего бибизьяна не питону, а питону "от сих до сих" (ограничение выбрал от фонаря).
 
Только лишняя работа, притом безблагодатная.
 
 
Добавлено:
akaGM

Цитата:
ну для человека, кот. не знает что такое кортеж...

 
Прочитай наверху, я для кого писал?
 
 
Добавлено:

Цитата:
Кортеж значит, что можно складывать - ровно в том же смысле, как можно складывать i + 1 или sqrt(2) + 1, с абсолютной точностью.

 
У конкретного кортежа не две, а три компоненты - стало быть, пространство комбинаций трёхмерное.
 
 
Код который тот кортеж использует - функция от входной строки, выдаёт точку в заданном кортежем пространстве.
(но только если строка сформирована правильно, иначе "404" aka ЖОПА)
 
 
Добавлено:

Цитата:
 кортеж функций?

 
Точнее, это кортеж примитивных типов данных.
 
Особенность питона в том, что каждый такой тип укомплектован готовой функцией из строки в значение этого типа.  
И эта функция гарантированно жрёт (правильно интерпретирует) буквально всё, что имеет смысл.

Всего записей: 17727 | Зарегистр. 14-10-2001 | Отправлено: 15:49 12-06-2024 | Исправлено: LevT, 16:18 12-06-2024
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
LevT

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

Цитата:
Ерундой страдаешь.
Хочешь научить своего бибизьяна не питону, а питону "от сих до сих" (ограничение выбрал от фонаря).
я буду страдать ерундой если полезу в дебри...
питон как и другие компиляторы/интерпретаторы/среды и редакторы -- это инструменты, причём довольно казуальные: понадобилось -- написал, посчитал, забыл, пошёл наводить наукообразие и писать формулы. основной мой инструмент это ручка и бумага, я работаю в теоротделе, если что...
 
Добавлено:
 
 
в моей группе принят фортран и дельфи, немного С...
питон же -- это небольшая связь с внешним научным миром, потому как мир с ним сошёл с ума :) имхо

Всего записей: 24838 | Зарегистр. 06-12-2002 | Отправлено: 16:33 12-06-2024
LevT



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
akaGM
 
То есть, попалась палка-копалка - подобрал, поковырял, авось поможет.  
Ну уж с помощью-то знатоков копания точно поможет.
 
Тебе ведь уже помогли в этом смысле. Но тебе мало - и это признак того, что ты не совсем ещё одичал.
 
 
 
Добавлено:

Цитата:
в моей группе принят фортран и дельфи, немного С...

 
Да похер на язык. Буквами разных языков выражается один и тот же смысл.
Рантайм этот смысл воплощает в жизнь - применяет к данным, которые ты подал на вход.
 
Рантайм сишечки это буквально ОС (хотя и поверх немного не amd64 архитектуры... но мы тута видеть не хотим бгггг)
 
На уровне твоих потребностей тебе ваще рантайм не нужен. Но ты тем не менее задаёшь о нём, именно питоновом, вопросы. Смысл (int, double, float) определяется рантаймом, а не языком. Язык - квадратные скобочки или круглые - самое скучное и неважное, интересное только бибизянам-неучам  У которых мозгов нет увидеть за деревьями лес.
 

Всего записей: 17727 | Зарегистр. 14-10-2001 | Отправлено: 16:36 12-06-2024 | Исправлено: LevT, 16:51 12-06-2024
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
LevT

Цитата:
То есть, попалась палка-копалка - подобрал, поковырял, авось поможет.
примитивно, но где-то очень близко...
есть воробей, а нему есть рогатка, дробовик, калаш, "град" и "сормат" -- выбор за нами...
и то что я сделал палкой -- это гораздо быстрее, чем я буду насаживать на неё титановую лопату или учиться управлять эскаватором...
 
вот сейчас я могу:
1) садиться изучать кортежи-списки-чё-там-ещё
2) написать небольшой гайд и передать _уже готовую_ прогу для потребления...
и идти заниматься своими делами в бОльшей сиепениююю
что мне выбрать?
почему-то я выбираю и выбрал последнее...
 
у меня жена такая же зануда (из какого-то фильма) хочет знать всё "до полной учёности"...
 
Добавлено:
 

Цитата:
Да похер на язык. Буквами разных языков выражается один и тот же смысл.
аминь...

Всего записей: 24838 | Зарегистр. 06-12-2002 | Отправлено: 16:50 12-06-2024 | Исправлено: akaGM, 16:54 12-06-2024
LevT



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
akaGM

Цитата:
написать грамотный гайд и передать _уже готовую_ прогу для потребления...

 
Для кого ты гайд собрался писать?
Откуда берёшь предположения о том, что он знает и что не знает?

Всего записей: 17727 | Зарегистр. 14-10-2001 | Отправлено: 16:53 12-06-2024
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
LevT

Цитата:
Для кого ты гайд собрался писать?
я уже исправил "грамотный" на "небольшой" :)
 
для тех, кто будет запускать мой экзюк/ру-скрипт,
а что?
 
Добавлено:
 

Цитата:
о том, что он знает и что не знает?
это мой соавтор...
который не знает ничего :)

Всего записей: 24838 | Зарегистр. 06-12-2002 | Отправлено: 16:56 12-06-2024
LevT



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
akaGM
 
А зачем ему твой гайд?  
 
 
Добавлено:

Цитата:
это мой соавтор...
который не знает ничего

 
Врёшь, ты неплохо знаешь чего хочешь - но выражаться умеешь только на С.
Ты хочешь написать курс "питон для полных неучей"? "питон для сишников"?  

Всего записей: 17727 | Зарегистр. 14-10-2001 | Отправлено: 16:58 12-06-2024 | Исправлено: LevT, 17:01 12-06-2024
Открыть новую тему     Написать ответ в эту тему

Страницы: 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

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Python


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru