Двач.hk не отвечает.
Вы видите копию треда, сохраненную 28 ноября 2015 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
323 Кб, 640x480
Python #569632 В конец треда | Веб
Шапка: https://github.com/TheKnightsWhoSayNi/info/wiki/Hat
Прошлый: >>561713 (OP)
FAQ:
Q: Какой пифон учить, 2 или 3?
A: 3
Q: Посоветуйте IDE
A: pycharm
Q: Как зделать GUI на пифоне?
A: pygobject, pyqt.
101 Кб, 800x600
#2 #569635
Хорошо перекатил, мой питон говорит молодца.
#3 #569636
>>569507
На самом деле на винде всё заебись, просто там тоже есть неосиляторство.
#4 #569642
>>569632 (OP)
Логика не ясна. Шапку вынес на гитхаб, но FAQ, который является частью шапки, продублировал. Зачем?
#5 #569645
Каково это, писать на мёртвом языке и вместо нормальной работы ковыряться в легаси?
#6 #569648
>>569645
А вот был бы это рубитред - тебя бы уже забанили.
#7 #569651
>>569642
Да синий просто, шапку не смотрел, просто что забесило в прошло вынес. не оп прошлого
#8 #569652
>>569648
У рабистов ещё не совсем мертвый язык. А вот через годик можно будет и им написать.
#9 #569653
>>569652
В рубитреде моча живет.
#10 #569685
сап питоняшки. Дайте идею web-приложения, хочу pony orm колупнуть
#11 #569686
И еще, поясните велосипедисту, у Mozilla есть технология XUL, которая позволяет описывать интерфейс при помощи XML. Хочу написать похожую балалайку на angular'e которая будет парсить JSON с описанием полей и строить форму для CRUD-операций. Может это уже где то реализовано?
237 Кб, 1280x719
#12 #569703
>>569685
с ходу высираю для тебя гениальную идею

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

можешь усложнить и заебенить графики, анализ цен и т.д.

тебя даже без опыта возьмут с такой годнотой
#13 #569722
>>569632 (OP)
Тред нелегитимен. Где черный стяг? Где кровь и черепа? Ладно, на первый раз прощаю.
Аноним #14 #569723
суп, начал только изучать программирование, языки и проч.
стоит ли питон изучать глубоко? он сейчас вообще юзабелен? может стоит потратить время на что-то другое?
#15 #569729
>>569723
Имеет самое широкое применение из всей подобной динамикодрысни.
#16 #569737
>>569723
Алгоритмы то хоть подтянул, Матвей?
Аноним #17 #569742
>>569737
Нет, с чего начать?
#18 #569743
>>569742
https://toster.ru/q/53914
Не задрачивай пока, просто представление сосавь. Выбирай по вкусу.
#19 #569762
>>569742
hackers delight
#21 #569860
>>569722
Так хуле ты не создал? Тот уже утонул и 50 постов сверху имел. Только кукарекать и можешь.
#22 #569929
К теме о лишнем проходе по списку или лишней строке: прирост производительности (при отсутствии мапа) всего лишь 5% для списка из 25к элементов, так что, думаю, можно не волноваться.
#23 #570027
>>569929
Так вопрос был даже не в производительности, а в оправданности дополнительного прохода по списку, ради сомнительных эстетических соображений.
#24 #570098
>>570027
Так а чего его оправдывать, если вреда почти не наносит?
#25 #570101
>>570098
Вред душевному спокойствию - тоже вред.
#26 #570105
>>570098
Так и пользы не особо много. Можно и на каждый чих делать обход списка, но стоит ли?
#27 #570128

ИЗ ТРЕДА В ТРЕД
СПОРЫ НИ О ЧЕМ
ЧЕМ МОЖЕШЬ УДИВИТЬ
МЕНЯ СЕГОДНЯ ТЫ
ВЕДЬ Я УЧУ ПИТОН
НО ОН ДАНОН
ОН КАК ДОНОН СЛОЖОН
НО НА ЭТОМ ПОКА ЧТО ВСЕ
#28 #570151
>>570128

АЕ АУ ЕАЕАЕАУЕАУЕА АУУУУУУУ АААААААУУУУУУУУУУУУУУФФФФФФФФФФФФФФФФФФФФФФФФФФФФФФФФФФФФФФФФФФФФФФФФФ
#29 #570161
>>570105
Если тебе так важна производительность, то делай свой парсинг строки на си и добавляй как модуль. Так-то настолько длинной строки, чтобы для тебя это сыграло хоть какую-то роль просто нет, ибо всё равно эта строка будет в памяти.
#31 #570176
>>570169
Ну, убери часть про производительность, сделай ленивый сплит.
#32 #570195
>>570176
Я не тот анон-перфекционист, мне не доставляет неудобств строка s = s.strip(). Не вижу повода ее избегать, тем более лишним обходом списка.
#33 #570201
>>570195
В варианте с мапом нет "лишнего" обхода. Он один в обоих вариантах.
#34 #570205
ОП обосрался и не линканул на перекат в треде. Поэтому легитимный тред по Питону здесь >>570190 (OP)
#35 #570209
>>570201
Будь добр, объясни подробнее.
#36 #570210
#37 #570233
>>570205
ОП того треда в глаза ебется.
#38 #570268
>>570209
В третьем питоне map ленивый и возвращает итератор, а не список новый создает.
#39 #570284
>>570268
Ну заебись тогда. Где ж ты раньше был?

тот хуй-идеалист
#40 #570287
Расскажите, пожалуйста, на простом примере, когда нужно применять кортежи и что это такое и почему их иногда используют вместо списков?
Я тупой и информации здесь http://wombat.org.ua/AByteOfPython/data_structures.html#id5 мне недостаточно, чтобы сложить в голове какой-то образ по поводу них.
#41 #570289
>>570287
Начнем с того, что кортежи immutable.
Если ты хочешь одной перменной присвоить два или более значения, при это добавление/удаление элементов тебе не нужно.
Например return x,y
#42 #570292
>>570287
Очевидно тогда, когда тебе нужна неизменяемая константа в виде списка
#43 #570294
>>570289

>Если ты хочешь одной перменной присвоить два или более значения, при это добавление/удаление элементов тебе не нужно.


А почему я должен использовать именно кортеж, а не список? Ведь список тоже справится с этой функцией.
#44 #570295
>>570294

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

#45 #570296
>>570287
Кортежи эффективнее, из-за того что иммутабельны. Поэтому если тебе не нужна мутабельность, нужно использовать кортеж. Во-первых эффективнее, во-вторых защита от дурака (иммутабельность).
#46 #570299
>>570296
Ещё кортежи можно использовать в качестве ключей словаря.
#47 #570302
>>570296

>Во-первых эффективнее


Я так и не услышал почему.

>во-вторых защита от дурака (иммутабельность)


Вот это уже больше похоже на объяснение.
#48 #570305
>>570296
Каким образом это защита от дурака? Если погромисту вздумалось вдруг аппенднуть что-нибудь к кортежу, то он скорее просто заменит его на список.
48 Кб, 1015x751
#49 #570309
Насколько хуёвая реализация для нуба и как можно было сделать так, чтобы не выносить переменную member за пределы цикла?
#50 #570311
>>570309
Запихнуть его в else
#51 #570312
>>570302

> Я так и не услышал почему.


Из-за внутренней реализации, скорее всего. Кортеж можно на простом массиве или чем-то подобном (типа структуры) сделать, без всяких изызсков. А для списка нужно воротить более сложную структуру данных. Но я хуй знает.
>>570305
Ну это лучше чем просто забыл что этот список нельзя изменять и потом полдня баг ищешь.
#52 #570313
>>570309
while True:
..member = input()
..if member in ab: break

Поскольку у тебя всё равно break есть то смысла в условии в while нет.
#53 #570315
>>570268
Понял, значит я был не прав на счет "лишнего" обхода. Спасибо, буду знать теперь.
>>570284
Извини, что ввёл тебя в заблуждение.
#54 #570322
>>570305
А если он захочет удалить всю программу — он, внезапно, тоже это может сделать, независимо от кортежей или списков.
Другое дело, что случайно заменить элемент какого-нибудь time.gmtime() он не сможет, без создания нового списка или кортежа.(Например, в функции сначала получаешь дату, потом хочешь получить это же время, но завтра. А в конце функции опять что-то с текущей датой сделать надо, но если уже там что-то поменял и забыл, то идти поправлять нужно, а сразу не смог бы изменить.)

Хотя я вот не очень понимаю этих рассуждений насчёт того, кто и чего может или не может изменять. Все эти приватные переменные, при обсуждении синглтонов часто вылезает. Ну, это, ты ж сам царь и бог, бери просто и не создавай объект больше одного раза, что мешает-то?
#55 #570352
>>570315

>Извини, что ввёл тебя в заблуждение.


Ничего страшного братишка, я сам так думал. Го поебемся?
#56 #570353
Итого:
Кортеж неизменяем и из этого следует, что

1. def f(a=tuple()): pass не имеет характерного побочного эффекта при использовании def f(a=[]): pass

2. Можно получить хэш кортежа, а следовательно, использовать в dict-like структурах в виде ключа.

3. Можно показать, когда дело до ходит до глобальных/статических констант, что данная структура не должна меняться со временем.

Тот факт, что с кортежем нельзя сделать что-то вроде kortezh[:] = getgovnonalopate(), как мне кажется, не очень важен, потому что всегда найдется пару способов сделать нечто подобное обходным путем. Это ж пистон.
#57 #570361
>>570352

>Го поебемся?


Нет, спасибо, только питон.
#58 #570362
Гайс, решил написать rss-ридер для практики. Сейчас поставил feedparser, скопировал код для парсинга atom-ленты, сейчас пытаюсь получить контент статей в rss-ленте, но интерпретатор ругается на Unicode error. variable.encode('utf-8') помогает, но это херня какая-то.

Код:
import feedparser

r = feedparser.parse('randomnoye url')
print(r.entries[0])

Что я делаю не так?
#59 #570365
>>570313
Cпасибо, няша.
#60 #570369
>>570362

> Что я делаю не так?


Выкладываешь название ошибки вместо того, чтобы показать весь стектрейс ))

Возможно, ты скопировал код для второго питона. Без стектрейса и/или большего количества кода не очень понятно.
#61 #570378
>>570309

>570309


чоза тема?
#62 #570382
>>570369
UnicodeEncodeError: 'charmap' codec can't encode characters in position 11271-11273: character maps to <undefined>

Код выложил полный.
#63 #570393
>>570382
Ну тащемта понятненько. Модуль feedparser использует неподходящую кодировку. Возможно, кодировку, в которой нет русских символов, или в ленте попалась загогулина/эмоджи, или еще что-нибудь такое. Перевод данных в utf-8 вполне себе нормальное решение этого бага, как по мне.

Судя по гитхабу, подобные проблемы у модуля есть.
https://github.com/kurtmckee/feedparser/issues/36
Что я делаю не правильно? #64 #570401
In [15]: result
Out[15]: {'count': 111, 'old': 111}

In [17]: result.update({'count':113,'old': 121,})

In [18]: result
Out[18]: {'count': 113, 'old': 121}

In [19]: x = {1:3, 2:4}

In [20]: x.update({3:4})

In [21]: x
Out[21]: {1: 3, 2: 4, 3: 4}
Что я делаю не правильно? #65 #570402
>>570401
Задолбался. Чуть в том, что в 17 не добавляет в словарь, а обновляет. А в 20 добавляет. Что не так?
Что я делаю не правильно? #66 #570404
>>570401
>>570402
def main():
a = {}
for i in range(14,20,1):
x = count(i)
if x != 0:
a.update({'old':i,'count':x})
return a
#67 #570408
На чем лучше написать простой сохранятель ссылок для десктопа типа Pocket/Instapaper?
#68 #570413
>>570401
>>570402
>>570404
Чет вообще затупил. Разобрался.
#69 #570419
>>570408
На Питоне.
82 Кб, 1671x755
#70 #570420
Где я обосрался? Никак не могу понять.
#71 #570421
>>570420
Блядь, и сразу же понял где обосрался
#72 #570431
>>570420

>Где я обосрался?


В выборе языка.
#73 #570436
>>570151

>АУ Е


жызнь ворам!
#74 #570437
>>570299
вот это основная тема кортежей, на мой взгляд

можно многомерные массивы представлять как
arr[(dimension1,dimension2,...,dimensionN)]
#75 #570446
>>570420
Это Atom? Как в нем вообще что-то писать можно? У меня сразу хуй встает, хочется подрочить пойти.
#76 #570448
>>570446
Это codecademy
#77 #570449
>>570448
Ну лан. Но я всё равно подрочу.
#78 #570457
Как подебить квадратики вместо кириллицы в pyplot, аноны?
#79 #570459
>>570457
Впрочем, нахуй.
#80 #570476
>>570431
You sure right m8
#81 #570477
>>570476
Сёма, заканчивай шитпостить.
#82 #570479
Я чот запутался. Как по пепу версию указать? Не для пакета, а для законченного скрипта. VERSION? __version__? version? Даже в официальных примерах все три варианта встречаются.
#83 #570480
>>570312

> Из-за внутренней реализации


Именно. Обычно кортеж это просто синтаксический сахар для группы значений.
В питоне это:
https://stackoverflow.com/questions/14135542/how-is-tuple-implemented-in-cpython
подробнее:
https://hg.python.org/cpython/file/default/Objects/tupleobject.c
#84 #570482
>>570353

> Можно получить хэш кортежа


In [1]: hash( (1, []) )
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-1-c9fa31004439> in <module>()
----> 1 hash( (1, []) )

TypeError: unhashable type: 'list'
#85 #570555
>>570362
Используешь третий питон, там куча проблем с юникодом.
48 Кб, 676x902
56 Кб, 983x666
#86 #570560
Сап, поцаны
Начал учить Питон, да и прогу в общем по учебнику "Укус Питона"
Все делал по примеру из учебника но выдает просто фри спейс.
Мб знаете где и в чем проебался?
#87 #570562
>>570560
ты функцию описал, но ее не вызвал.
#88 #570563
>>570562
say - это разве не вызов функции?
#89 #570564
>>570560
Лал. В прошлом треде уже был пассажир с укусом, можешь полистать. В этом примере ошибка - на 4 и 5 строке у тебя вызовы функций, они должны быть на первом инденте:

def say(
..print(

say(
say(
#90 #570565
>>570564
во, спасибо, няш
#91 #570566
>>570479
__version__ строка + version туплом.
>>570555
Мамкин трулль пожаловал.
>>570482
Понятное дело, что для хеширования все элементы тупла должны быть хешируемы тоже, дибил.
3 Кб, 199x61
12 Кб, 528x141
4 Кб, 317x95
9 Кб, 413x139
#92 #570567
>>570566
Открыл setup.py от tornado - version - строка.
А в __init__.py вообще 2й пикрел.
Открыл __init__.py от django там 3й пикрел
Открыл six там 4й пикрел

Везде по-разному.
#93 #570568
>>570566

> Мамкин трулль пожаловал.


http://habrahabr.ru/post/208192/
#94 #570571
Я правильно понимаю, что по-хорошему весь код должен быть только внутри функций и за их пределами лучше ничего не делать?
#95 #570572
>>570567
Ну, тогда выбери то, что тебе приятнее. Было бы хорошо чтобы была версия в строке и в тупле из интов. Это всё.
#96 #570573
>>570568
Ой, этого легаси-петуха уже опускали где только можно. В 3 отличный юникод, так, как и должно быть. Есть байты, есть строки. У тебя есть примеры «плохого» поведения в 3-й версии? Давай их сюда, обсудим.
#97 #570574
>>570571
Внутри функций и классов. Так легче читать, легче работать с кодом. Но можно и стену текста без всякого логического разделения выдавать, я так скриптики на 50-100 строчек пишу.
20 Кб, 393x322
#98 #570576
>>570571
Да. В питоне доступ к локальным переменным быстрее глобальных и мусорить в глобальном неймспейсе не принятно.
Обычно делают так
#99 #570584
Как задать в регексе сразу несколько слов?
re.search('yoba', list) найдет все строки в списке с этим словом, а как добавить другие слова? Я даже в доках не нашел, там только есть пример с одним словом
#100 #570589
>>570584
re.search('(foo|bar)', 'test bar test')
#101 #570590
>>570584
а не все, сейчас наугад вставил | и оно заработало bla|bla2
#102 #570591
>>570589
да, спасибо, даже не думал, что можно еще к ним () добавить дополнительно
TypeError #103 #570593
TypeError: not all arguments converted during string formatting

Вообщем я хотел найти остаток от деления двух значений переменных, при помощи оператора %.

Как исправить?
https://ideone.com/Bdadsj
#104 #570598
>>570593
У тебя они строка судя по ошибке. Конвертируй их в int
#105 #570600
>>570598
Cgfcb,j
#106 #570601
>>570600
Спасибо
фикс
13 Кб, 710x139
#107 #570677
Чому у меня без закомменченного выходит бесконечный цыкол?
Ввожу за пределами вайла неверное значение, ввожу в вайле правильно, а он все-равно продолжает выполнятся как при неверном значении, хотя условие вайла должно дать фолс и он должен закончиться.
#108 #570680
>>570677
Потому что choice всегда либо != 'y', либо != 'n'. Твой цикл - while True.
#109 #570684
>>570680
Бля, и правда ведь
#110 #570688
>>570677
`or` вместо `and`. Используй `not in`
#111 #570689
>>570688
Да я уже понял
#112 #570712
Опять нужна помощь с регексом
Нужно вернуть целую строку, если в ней найдено конкретное слово, не знаю как это сделать. group() только отдельные слова выдает, а мне просто нужно отфильтровать ссылки
#113 #570715
>>570712
if "конктретное слово" not in "целая строка":
print(ololo)
#114 #570717
>>570715
блин, реально спасибо, так даже еще проще получается, совсем забыл про это
#115 #570722
# chained([a,b,c,d])(input) -> d(c(b(a(input))))
def chained(functions):
....def f(x):
........for function in functions:
............x = function(x)
........return x
....return f

Милый двач, почему оно работает?

Такое понятно, тут у х будет какое-то определенное значение на момент return'a:
def foo(x):
....return lambda y: x + y

Но понять первую хуиту я не могу.
#116 #570724
>>570722
А что не понятно то?
#117 #570726
>>570722
А почему не должно работать? Изначальное значение хinput. Дальше оно обрабатывается первой функцией из списка, выход которой является входом для следующей.

a = lambda x: x + 2
b = lambda x: x + 3
c = lambda x: x + 5

x = 10 # input
x = a(x) # 12
x = b(x) # 15
x = c(x) # 20

x = 10 # input
x = c(b(a(x))) # 20

funcs = [a,b,c]
x = 10 # input
for func in funcs:
x = func(x)
print(x) # 20
#118 #570727
>>570726
Я думаю он не понимает как замыкания работают.
#119 #570734
>>570726
>>570724

Начал писать опровержение и до меня дошло, что тело f(x) выполнится только при вызове функции-результата:
f = chained(functions)
f(n)

Я почему-то думал, что работает так:
chained(functions):
....def f(x):
........pass
....return f(x) # а не f

Спасибо, анон.
11 Кб, 335x339
19 Кб, 879x332
#121 #570743
Чому оно медленное на более менее больших числах? Если загнать 11, то оно прерывается по времени. Как исправить?
#122 #570747
>>570743
У тебя там бесконечный цикл
#123 #570749
>>570747
Пиздос, проебал изменение каунтера, спасибо
42 Кб, 1114x758
#124 #570752
Теперь-то что не так?
#125 #570753
>>570743
На будущее:
0. Проверять делители имеет смысл только до floor(sqrt(x))
1. Можно при этом хранить решето Эратосфена и лениво пополнять его при запросе.
2. Когда числа выходят на порядок сотен миллионов-миллиардов, лучше пользоваться вероятностным алгоритмом: https://ru.wikipedia.org/wiki/Тест_Миллера_—_Рабина
#126 #570754
>>570753
Спасибо конечно, но это просто задание в обучении, я так сильно углубляться не собирался. Но про решето прочитаю
#127 #570755
>>570752
Что это за хрень.
Ты можешь просто написать text[::-1]
17 Кб, 357x293
#128 #570756
#129 #570760
>>570752
Но несколько моментов - строки неизменяемы. Ты не можешь написать строка='a'
Ты пытаешься изменять в цикле и брать значения одной и той же переменной. Скорее тебе надо завести новую переменную для результата.
Можешь написать как-то так
text = 'test1'
text2 = ''
for i in range(len(text)):
..text2 += text[len(text)-i-1]

или

for i in range(len(text)-1, -1, -1):
..text2 += text

или

text = 'test1'
result = []
for char in text:
..result.insert(0, char)
return ''.join(result)
25 Кб, 1011x318
#130 #570761
Я, конечно, уже переделал через while, но схуяли он доебался там я так и не понел, оно никак не должно за массив выходить.
#131 #570762
В чем разница между модулями pickle и shelve. Где не гуглил, аналогии с банками с консервами, полками. Т.е. если pickle - банка с данными, то shelve - полка(с данными?? с файлами??)
#132 #570763
>>570760

>Но несколько моментов - строки неизменяемы.


Плохо, спасибо.
#133 #570764
>>570760
Ну и ещё вариант
text='test1'
text2=''
for char in text: text2 = char + text2
#134 #570765
>>570752
lst[len(lst) - 0] => out of range.
#135 #570766
>>570763
Блять разметка съела я имел ввиду нельзя написать строка[индекс]='а'
#136 #570767
>>570762
Я так понимаю pickle - это банка, в которую напихано данных
shelve - шкаф, в котором 1 полка - строка/список/кортеж етк
#137 #570769
>>570762
есть ещё модуль marshall
#138 #570771
>>570769
Ну епть, я с 2мя не разобрался, а ты еще третий впихнул.
#139 #570772
>>570762
Забей на shelve - никогда не пригождался. pickle просто сериализация объектов.
#140 #570774
>>570766
Да я в принципе так и подумал, что ты это имел ввиду
#141 #570775
>>570771
Вообще советую
https://pymotw.com/3/ - не доделано ещё
https://pymotw.com/2/
самая толковая документация с примерами про модули стандартной библиотеки
#143 #570779
>>570765
Да, действительно, чего-то я сегодня туплю. Ну и в любом случае со стрингом такое не прокатит.
#144 #570782
>>570772
А что такое сериализация и зачем она нужна?
#145 #570784
>>570782
Ну, например у тебя есть инстант объекта. Сериализация - это когда ты его состояние записываешь в двоичном виде, чтобы можно было сохранить в файл или передать по сети. Десереализация - преобразования этих байтиков обратно в объект.
т.е. ты можешь сохранить состояние своей программы в файл, выйти из программы, а потом заново её запустить и загрузить состояние из файла например.
28 Кб, 557x407
#146 #570785
#147 #570833
Какие есть мощные асинхронные библиотеки в питоне? Нужно отправлять данные на несколько тысяч доменов, в сутки около 100 000 POST/GET.
111 Кб, 576x440
#148 #570851
Питоны, расскажите про classmethod простыми словами.
#149 #570891
>>570851
И мне. Статикметод понятен и прост, а это муть какая-то.
#150 #570904
>>570851
Это декоратор
#151 #570907
>>570904
Не только декоратор. В книге описывается он, как тот блок, где инициализируется драйвер Firefox 1 раз перед выполнением всех тестов. То есть, не каждый раз, перед каждым тестом, а 1 раз. Насколько я понял, эта такая хуйня, которая работает только для этого класса и, если мы будем наследоваться из этого класса куда-то еще, то классметод не будет доступен там. Верно?
#152 #570928
>>570833
aiohttp, tornado и ещё куча других.
#153 #570945
>>570904
Ну охуеть теперь. Что он делает то? Не декоратор вообще, а именно классметод. Четко и ясно давай.
#154 #570957
>>570891
classmethod = staticmethod, только первым аргументом передается класс. Так что можно делать classmethod perekat в классе Yoba, потом отнаследовать от ебы класс Peka, и при вызове Peka.perekat() вызовется perekat(Peka).
#155 #570959
>>570957
Нихуя не понял.
#156 #570966
>>570959
Ты просто тупой, сорри)) http://ideone.com/7ZacEe
45 Кб, 863x639
#157 #570971
Есть кто живой?

У меня такая проблема: есть файл *.po. (на скрине)

В нем есть строки:
msgid "%исходный_текст%"
msgstr "%текст_перевода%"

Теперь задача:
Так как иногда файлы приходят поломанные и в них msgid = msgstr (обозначено минусом на скрине). В таком случае, редактор не видит, что строка не переведена, а обозначена как имеющая англо-английский "пеервод"

Необходимо написать скрипт, который находил бы строки, в которых msgid был равен msgstr и удалял текст в msgstr, оставляя его как msgstr "" (обозначено плюсом на скрине).

Подскажите, как это сделать?
#158 #570975
>>570957
Я вроде понял в очередной раз, но все равно забуду и применять не буду. Слишком магическая хуйня.
#159 #570978
>>570971
Ниче не понял. Опиши нормально.
99 Кб, 1127x736
#160 #570979
Пиз дуль. Вот до чего доводит "условие не понимай @ сразу делай"
#161 #570982
>>570979
В догонку, есть что-нибудь (желательно без импорта) что проверяет переменная число (инт, флот) или какой-нибудь символ (чар, стринг)?
#162 #570983
>>570982
typeof
#163 #570984
>>570978
Скриптом нужно:
1. Нужно найти в файле все строки, в которых значение msgstr=msgid.
2. Удалить значение строки msgstr.
#165 #570986
>>570983
Немного совсем не то, имеется ввиду что-то типа проверить(переменная,число) и выдает тру, если там флот или инт.
#166 #570987
Блять уже пол года осваиваю Python, но в большинстве источников информации включая учебники и справочники, многие темы освещаются так, будто предполагается, что у меня с каждой главой прибавляется дохуя знаний и опыта, и что я способен все понять.
Есть какой либо источник информации, кроме курсов, где материал излагается последовательно?
#168 #570989
>>570986
Типа такого
checknut(var, numeric) checknut(var, phoetical)
>>570985
Вроде не то или я не туда читаю
#169 #570991
>>570987
Люди его по пять лет учат и с такой же проблемой сталкиваются
#170 #570992
>>570986
if type(var) is str\int
#171 #570993
>>570988
>>570985
>>570989
А все, понел, но все-равно не то
isinstance([], (tuple, list, set))
#172 #570995
>>570991
Но иногда то надо расти в понимании Python. Бывает ведь, что ни в одном из источников инфы не сталкиваешься с доступным толкованием чего либо.
#173 #570996
Просто мою логику поймите: внутри каждого вида мы можем спокойно перегонять из одного типа в другой, например:
numeric у нас в нем float и int, я могу без последствий эксепшона перегнать один в другой, разве что хвост у инта потеряю, но это уже издержки, или phoetical с char и string, где как минимум чар в стринг спокойно перегоняется.
В общем забейте.
#174 #570999
Как сериализовать отдаваемые генератором объекты?
Если сделать так:
g = range(5)
f = open('f.json', 'w')
for i in g: json.dump('i', f)

то не будет запятых между объектами.

Есть еще такая еба: https://docs.python.org/3.4/library/json.html#json.JSONEncoder.default

но там вызывается list(), и все значения из генератора оказываются в памяти. Смысл тогда использовать генератор?
#175 #571000
Что скажете про "Искусство программирования" Кнута?
#176 #571002
>>570996
В питоне нет char.
#177 #571007
>>571000
Добавь еще "Основы алгоритмизации и автоматного проектирования" Пряника
#178 #571021
>>571007

>Пряника


Еще, говорят, у Кренделя книги заебись, загружают топ хэккерские триксы космическим лучом прямо в мозг.
#179 #571031
Хочу пилить свой блог на пайтоне. Смотрю в сторону octopress. Что скажете? Хватит знаний кодакадеми?
#180 #571036
>>570984
А sedом не проще тогда? Нах тут питон?
#181 #571038
>>569636

>На самом деле на винде всё заебись, просто там тоже есть неосиляторство.


только за 60 итт тредов так и не решили хуя в пичарме на винде русские буковки не работают.
#182 #571040
>>571038
Потому что кодировку в настройках надо выставить UTF-8.
#183 #571042
>>570309
вернее писать "not found" и "username"
#184 #571044
>>571040
Ахуеть! Спасибо!
Тото все 60 тредов не знали.
Еще раз, от души!
#185 #571045
>>571044
Я серьёзно. Мне помогает.
#186 #571049
>>571045
понятно, для того и настройки. А много кому не помогает.
#187 #571051
>>571049
Наверное, потому что у меня винда на английском?
#188 #571052
>>571036
Как это sedом описать тогда?
#189 #571063
>>571044

>60 тредов


Ты считал?
#190 #571067
>>571052

> cat t.txt


msgstr=lkasjdfl
wmsgstr=msgid
lkasjdfklsj msgstr=iaeproai
11 wmsgstr=msgid
wat wat msgstr=wat

> sed 's/msgstr=msgid/msgstr=/g' t.txt


msgstr=lkasjdfl
wmsgstr=
lkasjdfklsj msgstr=iaeproai
11 wmsgstr=
wat wat msgstr=wat
#191 #571128
>>570971
Вот тебе немного быдлокода: http://ideone.com/2eXLCq
#192 #571255
Так кто-то расскажет про classmethod или нет по-человечески?
#193 #571256
>>571255
Написали же уже. Классметод получает параметром класс, статик нихуя не получает.
#194 #571257
>>571256
Когда я должен использовать классметод и почему?
#195 #571258
>>571257
Никогда
#196 #571261
>>571257
Когда тебе в методе нужна ссылка на класс.
#197 #571263
>>571261
А когда она может быть нужна?
#198 #571271
Питонач, есть вопрос

for key in list_key
<работаем с key>
for item in list_item
<работаем с item на основе key>

Как вернуться на for с list_key после всех прохождений for с list_item за новым kay?
#199 #571272
>>571271
Форматирование не прошло. Это вложенные for.
#200 #571275
>>571271
Ты не мог бы уточнить, что именно ты подразумеваешь под "вернуться"?
#201 #571276
>>571272
В смысле как? Оно само в конце внутреннего цикла на новую итерацию внешнего (по key) перейдёт же.
У list'а никаких key нет.

>>571263
Никогда
#202 #571286
>>571263
При кастомизации создания класса, например. https://docs.python.org/3/library/stdtypes.html?highlight=fromhex#bytes.fromhex
Dmitriy #203 #571351
>>569632 (OP)
Чем лучше PHP только быстро
Dmitriy #204 #571352
>>571351
*Имел в виду чем питон лучше за пхп, чем хуже тоже интересно
#205 #571357
Блядь. Какой источник использовать для ПОСЛЕДОВАТЕЛЬНОГО и РАЗЖЕВАННОГО изучения ООП в питоне? Начинается всё круто везде, но потом всё идет по пизде. Нихуя не понятно.
#206 #571405
>>571352
А нахуй ты своё мыльце палишь, Димон?
#207 #571425
>>571357
Анон, у меня была похожая проблема>>570987
Но с ООП то я разобрался более менее.
Я всю инфу черпал из разных источников. Разжеванно, но не последовательно есть на stackoverflow, но там все на инглише.
Можешь здесь спрашивать.

https://ru.wikipedia.org/wiki/%D0%9E%D0%B1%D1%8A%D0%B5%D0%BA%D1%82%D0%BD%D0%BE-%D0%BE%D1%80%D0%B8%D0%B5%D0%BD%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BD%D0%B0_Python#.D0.98.D0.BC.D0.B8.D1.82.D0.B0.D1.86.D0.B8.D1.8F_.D0.B2.D1.81.D1.82.D1.80.D0.BE.D0.B5.D0.BD.D0.BD.D1.8B.D1.85_.D1.82.D0.B8.D0.BF.D0.BE.D0.B2

Возможно этого будет недостаточно.
#208 #571427
>>571425
Давай на инглише. Мне похуй, лишь бы было последовательно и понятно. Плиз.
#209 #571428
>>571276
спс, я там намудрил
#210 #571430
>>571357
Спрашивай тут, что не понятно, или у гугла на инглише, в последнем случае почти всегда в числе нескольких первых ссылок будет stackoverflow
#212 #571432
#213 #571434
>>571352
Это вопрос?
#214 #571436
>>571434
нет, это димон
#215 #571438
>>571431
Сейчас вот читаю. Мне база-то понятна. Как только заходит дальше, так всё. Пиздец. В Укусе Питона последовательно рассказывается?
#216 #571441
>>571438
Кому как кажется.
Можешь еще Доусона, Лутца, Саммерфилда прочесть.
#217 #571459

>You can think of a tuple as an immutable (that is, unchangeable) list (though this is an oversimplification); tuples are surrounded by ()s and can contain any data type.

#218 #571473
Чому нельзя print var = '11'?
#219 #571475
>>571473
Томушто язык интерпретируемый?
#220 #571486
>>571473
Томушто логическая строка должны быть в одна в физической.
#221 #571489
>>571486
Чего?
#222 #571495
>>571128
Годно, спасибо
#223 #571517
Начну с примеров:
garbled = "!XeXgXaXsXsXeXmX XtXeXrXcXeXsX XeXhXtX XmXaX XI"
message = garbled[1::-2]
Out>X
garbled = "!XeXgXaXsXsXeXmX XtXeXrXcXeXsX XeXhXtX XmXaX XI"
message = garbled[:2:-2]
Out>I am the secret messag

>"!Xe|XgXaXsXsXeXmX XtXeXrXcXeXsX XeXhXtX XmXaX XI"


garbled = "!XeXgXaXsXsXeXmX XtXeXrXcXeXsX XeXhXtX XmXaX XI"
message = garbled[::-2]
Out>I am the secret message!

Отсюда вопрос, при таком реверсе невозможно поставить начальную точку получается(пример 1)?
#224 #571520
>>571489
Томушто логическая строка должны быть в одной физической.

сначала переменная и присваивание
потом принт переменной
#225 #571525
>>571520
Спасибо
#226 #571533
>>571520

>в одной физической.



>>> print('ti'); print('hui')

#228 #571594
>>571517
короче изучи как в слайсе вычисляются неявно заданные пределы

или задавай их явно
message = garbled[-1:0:-2]
#229 #571878
Есть тут кто?
У меня есть вопрос.
#230 #571888
Вопрос из предыдущего треда:
>>571097
1.Понятно. Но так или иначе, я учусь по этой книге:
https://vk.com/doc92204332_320825877?hash=0f7bfba177ee694fad&dl=b7dcb51474b5505132
2.>Потому что ты сравнивал со строкой в условии while.
Все, понял. Я не заметил, что у меня не высвечивалась фраза "Good luck!".
У меня просто не включался сам цикл if.
Осталось только понять, как ты это сделал. Например, указал значение True. Т.е. 0 - всегда False?
3.Ну т.е. в 3-ей версии, заместо raw_input надо писать int(input()).
4."Программы, которые вы писали до сих пор, представляли собой длинные, целостные серии команд."
Цитата из той книги.

В Пайтон треде последние два поста мои и на них никто не ответил. Вот, решил сюда перебраться. А что, я мешаю?
#231 #571889
Черт! Не то скопировал. Вот из предыдущего треда:
Я запилил такой код:

import random
inv = ["sword", "shield", "duck", "drug"]
while inv:
(отступ)\tx=random.randint(0, len(inv)-1)
(отступ)\tprint(inv.pop(x))
input("Hi!")

Благодарю за помощь.
Прошу благородного дона поправить меня в перечне функций и их значений:

x = random.randint(0, len(inv)-1) - будет присваиваться случайное значение 0 до числа элементов списка, за вычетом единицы.
inv.pop([x]) - принтует и удаляет элемент №х. Если я не укажу аргумент х, то удалит самый последний элемент списка.
word = random.choice(inv) - просто делает случайный выбор из списка, который будет занесен в переменную ворд.
def randomized(lst) - не догнал, что это.
random.shuffle(lst) - перемешивает элементы изменяемой
#232 #571890
>>571888
>>571889
Анон, помоги, я уже совсем засыпаю.
#233 #571893
>>571890
Лол, ко мне лучше не обращайся, ибо я нуб-нубом и только-только со словарями разбираюсь.
#234 #571894
>>571893
Ну хз. Мне кажется я очень грубую ошибку допустил. Не знаю так ли она заметна.
Я очень сильно уже спать хочу, и оттого очень сильно туплю.
#235 #571895
Чому нельзя
while var = somefunc():
..print(var)
#236 #571897
>>571894
Лол, ты по какому учебнику идешь? Если не по Доусону, то можешь воспользоваться ссылкой из моего поста и полистать. Авось, поможет.
#237 #571901
>>571889

> inv.pop([x]) - принтует и удаляет элемент №х.


var = inv.pop(x)
не принтует а возвращает значение элемента. ты можешь сделать принт его, присвоить переменной и что угодно. квадратных скобок быть не должно.

>Если я не укажу аргумент х, то удалит самый последний элемент списка.


верно

> random.choice(inv) - просто делает случайный выбор из списка


да

> def randomized(lst) - не догнал, что это.


объявление функции

> random.shuffle(lst) - перемешивает элементы


да. модифицирует lst так что элементы в нем перемешиваются случайным образом
#238 #571902
>>571897
Да нет. По разным учебникам. В т.ч. практическим.
Проблема такая, я реализовал игру "Игра Баше"
без GUI полностью рабочую, и теперь пытаюсь сделать с GUI. Что то с циклом не то, не знаю. Все время пишет "Победа".
http://pastebin.com/QidzX51S
#239 #571904
>>571902
Лол, парень, я только сейчас понял, что возвращение значение- это присвоение его указанной переменной.
Тебе точно не ко мне. Лучше у куна>>571901 попроси.
>>571901
Спасибо, добрый данон!
#240 #571909
>>571904
Ну да, спасибо, и то, что ответил.
Тяжело иногда учится согласен. Абсолютно новые области знаний, иногда трудно постигаются.
Я вообще дрочил долгое время теорию, все оказалось проще и продолжалось становится проще, когда начал практиковаться.
Очень сильно спать хочу.
8 Кб, 333x175
7 Кб, 247x166
#241 #571910
>>571904

> что возвращение значение- это присвоение его указанной переменной.


Не совсем. Возвращение значения это то что твоя функция в return возвращает. Ты можешь с этим значением что угодно делать. Присваивать перменной или передавать в другие функции или ещё чего.

Некоторые функции ничего не возвращают, но просто делают какие-то операции. Как тот же random.shuffle.
#242 #571911
>>571910
Можешь помочь, анон?
#243 #571912
#244 #571913
>>571912>>571902
Где я затупил? Почему всегда "Победа."
#245 #571914
>>571910
Ага, понятно. Возвращение переменной - это его передача после операции.
Проще говоря, функции - это почти всегда школьное f(x)=y, а уже что потом с этим y станет функцию не волнует.
Кстати, а в чем отличие между функцией и командой?
"""
В учебнике написано так:
Программы, которые вы писали до сих пор, представляли собой длинные, целостные
серии команд. Когда программа достигает определенного уровня сложности,
такая организация кода становится неоптимальной. К счастью, есть способы разбить
большую программу на более мелкие фрагменты, с каждым из которых в отдельности
легче управляться. Одному из этих способов - созданию нестандартных
функций - и посвящена данная глава.
"""
#246 #571915
>>571913
"Победа"?
фикс
#247 #571917
>>571913
А забыл еще исправить кое что
В строке 43 там просто MASSIVE, а не str(MASSIVE)
#248 #571918
>>571913
Попробуй выводить значение MASSIVE через print на каждом шаге. Может тогда будет видно что происходит.
38 Кб, 521x500
#249 #571919
>>571913

> TRUE = True


> while TRUE:


Но нахуя?
#250 #571921
>>571918
ОКей. Сейчас испробую.
>>571919
Прост))
#251 #571922
>>571913

> if MASSIVE <= 16 and MASSIVE >= 6:


В питоне можно писать
if 6 <= MASSIVE <= 16:
#252 #571924
>>571922
Спасибо за совет.
#253 #571925
>>571901
Уточнение:
Если я не введу переменную в inv.pop(), то эта функция обязательно присвоит значение, прежде чем удалит?
#254 #571927
>>571918
Написал 4 раза print, а выдает, следующее.
21
19
16
15
14
13
10
8
5
#255 #571928
>>571925
Если ты напишешь var = inv.pop() но в var будет значение, если просто inv.pop() то значение никуда не сохранится.
#256 #571932
>>571927
И почему у тебя победа то? Она же должна быть когда MASSIVE <= 0 или MASSIVE == 1.
Я вообще не оче понимаю правила игры и что происходит.
#257 #571934
>>571928
inv = [1,2,3]
var = inv.pop(1)
var = 1
inv = [2,3]
inv.pop()
inv = [2]
var=1
Я правильно понял?
#258 #571935
>>571932
Это не критично вроде хотя опробую.
Там кое что другое надо исправить похоже.

ИГРА БАШЕ
https://ru.wikipedia.org/wiki/%D0%91%D0%B0%D1%88%D0%B5_%28%D0%B8%D0%B3%D1%80%D0%B0%29
#259 #571936
>>571934

> inv.pop(1)


Нумерация начинается с нуля так, так что это удалит двойку из inv и значение var будет 2
В остальном правильно.
#260 #571943
>>571914
Бамп вопросу.
#261 #571947
>>571914

> а в чем отличие между функцией и командой?


Что ты имеешь ввиду под командой? Statements? Всякие print, del, pass? Они не возвращают значений. Всегда должны быть в начале строки - нельзя написать что-то типа while del foo:
#262 #571948
>>571935
Вообщем я хз, как поступить, у меня видимо не так много познаний в Tkinter.
Думаю, что если бы можно было при введении значения в Entry "перенаправлять" значения из последней в программу как input, но только в Tkinter. Возможно проблема была бы решена.
#263 #571949
>>571947

>Что ты имеешь ввиду под командой?


Принт, например.

>Всегда должны быть в начале строки


Т.е. команды - не возвращают значение?
Хм. Не замечал этого. Т.к. всегда команда должна стоять в начале строки?
#264 #571952
>>571949
Ну это такие сорт оф типы данных, зарезервированные слова, встроенные инструкции.
#265 #571954
>>571948
Ты можешь повесить событие при нажании enter например в entry вызывать callback какой-то.
Потом брать данные из entry и конвертировать их в int.
Я просто никогда не пользовался Tkinter незнаю как там это конкретно сделать.
#266 #571956
>>571949

>Хм. Не замечал этого. Т.к. всегда команда должна стоять в начале строки?


Ну немного не это. В определении функции, то есть там где ей задаются параметры, имя и пишется ключевое слово def (определяющее функцию), print и сорт оф ит, быть не должно.
С определением класса аналогично.
>>571954
Спасибо, конечно, за то, что оказываете помощь.
#267 #571967
>>571952
>>571954
А есть где-нибудь "академическое" определения "команды" и "функции", в программировании?
#269 #571973
И да, забыл кое-что уточнить в посте >>571901
:

> def randomized(lst) - не догнал, что это.


>объявление функции


randomized - это название самой функции?

И можно ли применять одни и те же команды к кортежам, спискам и словарям?
#270 #571976
>>571970
Спасибо, добрый анон. Теперь я понял, что главное отличие функции от команды(инструкции) в том, что функция являются, своего рода, подпрограммой и напрямую взаимодействует с переменной и/или возвратом значения.
Только, теперь я понял, что можно было кодить и без этого знания, лол.
#271 #571977
>>571973
def randomized(lst):
randomized - название функции. lst- аргумент функции.

> можно ли применять одни и те же команды к кортежам, спискам и словарям?


Смотря какие команды. Ты можешь итерироваться по ним т.е. писать for element in tuple:
random.shuffle(tuple) не имеет смысла т.к. tuple неизменяемые
#272 #571979
>>571976
Есть ещё такой момент как область видимости перменных. Перменные объявленные внутри функции будут локальными т.е. за пределами этой функции их не видно и использовать нельзя. Можно только вернуть значение какой-то локальной переменной через return.
#273 #571981
>>571977

>randomized - название функции. lst- аргумент функции.


И аргумент будет возвращен после модификации/преобразования, так?

>Смотря какие команды.


Ну вот, например, функция var = inv.pop(x) . Я понял, что написал с ошибкой, т.к. имел ввиду не команды, типа принт, а именно что функции.
>>571979
Т.е. если я напишу, например:
def randomized(lst)
...
x = 1
...
То х не будет виден вне этой функции?
#274 #571982
Поэтому первым языком всегда должен быть С.
#275 #571983
>>571982
А если не взлетит - то вон из программирования, так?
#276 #571984
>>571983
А если не взлетит - ассемблер. И так по убыванию.
12 Кб, 295x238
#277 #571985
>>571981

> функция var = inv.pop(x) .


У tuple нет pop. Это не имеет смысла т.к. tuple неизменяемая и ты не можешь убрать элемент из неё.
У dict pop есть.

> будет возвращен


Будет возвращено то что ты укажешь в return
Например
def randomized(lst): return 1
вернет 1

> То х не будет виден вне этой функции?


Да
#278 #571987
>>571982
хз. у нас в универе был си первым языком. те, кто до универе не программировал просто СТРАДАЛИ из-за всякой мелкой хуйни типа указателей и ненавидели программирование так ничему и не научились.
если бы был язык попроще типа питона и они могли бы писать какие-то работающие программки, у них бы получалось - была бы мотивация и возможно интерес к программированию бы появился
имхо.
но си конечно знать желательно.
#279 #571988
>>571987

>мелкой хуйни


>типа указателей


/0
#280 #571989
>>571984
А если ассемблер не взлетит, то на булеву алгебру?

>>571985

>У tuple нет pop. Это не имеет смысла т.к. tuple неизменяемая и ты не можешь убрать элемент из неё.


>У dict pop есть.


Т..е можно использовать одинаковые функции для неизменяемых /изменяемых типов данных?
Ну т.е. одни и те же для кортежей, интов, строк и другие для словарей, списков и множеств?

>Будет возвращено то что ты укажешь в return


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

>Да


Спасибо.
#281 #571990
>>571988
В них нет ничего сложного, но для новичка это большой гемор. Вместо того чтобы сконцентрироваться на задаче, алгоритме, логике - он вынужден бороться с особенностями низкоуровневой хуеты типа управления памятью.
5 Кб, 270x92
#282 #571992
>>571989

> Т..е можно использовать одинаковые функции для неизменяемых /изменяемых типов данных?


Смотря какие. У кортежей и списков есть некоторые функции с одинаковыми названиями.
Например lst.index lst.count ну и всё.
#283 #571993
>>571992
Ну т.е., за некоторым исключением, это верное утверждение?
#284 #571994
>>571993
Нет не верное. Наоборот.
#285 #571995
>>571994
М.б. я не так выразился?
Вот мой тезис: для множеств, списков и словарей можно использовать большое количество одинаковых команд/функций.
Это одна группа.
Для кортежей, строк и чисел можно использовать одинаковые команды/функции.
Это вторая группа. Но одинаковых команд для представителей обеих групп - нет.
#286 #572000
>>571895
Можно, если "==" поставить.
#287 #572001
>>572000
Это совсем другое
#288 #572002
>>572000
Вот например, как в нормальных языках можно делать
$handle = fopen("inputfile.txt", "r");
while (($line = fgets($handle)) !== false) {
// process the line read.
}

fclose($handle);
#289 #572003
>>572002

>$


>нормальных языках

#290 #572006
>>572002
Неудивительно что перл умер.
#291 #572007
Джентльмены, прошу, ответьте на этот вопрос, чтобы я мог спокойно закрыть данный пункт.
>>571995
#292 #572008
>>572007
Там нет вопроса. И нет, ты не прав. И толку в этом тезисе никакого, даже ели бы он был верен. Кортеж больше на список похож, например, чем на инт, и всё равно, что он иммутабелен.
#293 #572009
>>572008
Хм. Понятно. Значит, просто нужно запоминать, какие команды для чего используются, и не пытаться делать глобальных выводов из совпадений нескольких команд.
Спасибо.
#294 #572010
>>572009
Просто надо читать документацию и юзать интроспекцию/автокомплит. C built-in ты еще запомнишь, а с user-defined - хрен.
#295 #572011
>>572010
LOL, я ещё не знаю, что такое built-in и user-defined. Но понял: не пытаться найти параллели там, где их нет.
#296 #572012
>>571888

>3.Ну т.е. в 3-ей версии, заместо raw_input надо писать int(input()).


int(raw_input()) же
мимо
#297 #572032
Пиздец, что за ночной курятник развели? Съебите уже в нюфаг тред, уёбки, читать тошно.
#298 #572047
Господа подскажите как у питонистов без опыта работы с трудоустройством ? Решил перекатиться из другой сферы деятельности.
#299 #572048
>>572047
Никак. Если нужно трудоустройство - учи php или java. Питон игрушечный язык для обучения.
#300 #572063
>>572048
Поддерживаю сего достопочтенного оратора. Господа-питонисты если и нужны, то исключительно опытные деятели с впечатляющим портфолио. Зато как дополнительный язык машинный пригодится и в резюме перспективного специалиста смотреться будет достойно. Изучай пхп, юнец, благо осваивается он после Питона очень легко.
#301 #572072
>>572047
Я и изучаю Яву, но после того как понял, что всем нужен опыт работы, подумал может подучить питон и пойти на стажерство.
#302 #572110
>>572032
Мань, не кукарекай, тред на плаву только из-за нубов.
#303 #572124
>>569645
отлично, он не сопротивляется.
#304 #572171
Можно ли из декоратора получить доступ к переменной в декорируемой функции?
#305 #572192
>>572124
Эта шутка уже была два-три треда назад.
#306 #572195
Анонс, есть легаси-говнокод и задача перенести часть приложения с django 1.6 на 1.4. Дело в том что в 1.6 появились новые классы, которые наследует нужный app. Разбираться/переписывать или это в любом случае гиблое дело?
#307 #572199
>>572195
В 1.4 дыры и 1.6 намного быстрее(процентов на 30 как минимум).
#308 #572202
>>572110
Пусть лучше тонет, чем такой зашквар.
#309 #572206
>>572202
Зашкварил тебе за щеку, проверяй.
#310 #572207
>>572206
Фантазёр.
#311 #572209
>>572199
Я не + и - спрашивал, читай внимательно.
#312 #572211
>>572209
Почему не перенести всё на 1.6 вместо этого?
#313 #572216
>>572211
Не подходит. На 1.6 работает один модуль, который и надо перенести, а на 1.4-куча таких модулей.
#314 #572219
>>572216
Все равно рано или поздно на новую версию придется переходить. Либо просто выкидывать весь проект. От прогресса не убежишь, а бэкпортить на дырявое говно - зашквар.
1217 Кб, 450x692
#315 #572222
>>572219
У меня есть сайтик который на 1.2альфа версии крутится уже много лет.
#316 #572366
Аноны, возможно ли внутри одного print() выводить информацию с переносом строки?
#317 #572368
#318 #572371
>>572368
Лол, спасибо.
В гугле \b вычитал, а \n не пробовал.ну я и уебок
#319 #572565
Пытаюсь выполнить задачу из учебника:
Напишите программу «Генератор персонажей» для ролевой игры. Пользователю должно быть предоставлено
30 пунктов, которые можно распределить между четырьмя характеристиками: Сипа, Здоровье, Мудрость
и Ловкость. Надо сделать так, чтобы пользователь мог не только брать эти пункты из общего «Пупа», но и возвращать
их туда из характеристик, которым он решит присвоить другие значения.

Запилил код для выбора меню https://ideone.com/7ytWu3 , но почему-то не получается выполнить цикл if. Если ввожу 1, то цикл просто повторяется, а если ввожу 0, то происходит выход, без участия.
Мне один анон пытался помочь, но он использовал функции, когда тут нужно только, пока-что, командами работать, с редким применением функций.
Мне сказали, что проблема в двойной проверке на 0, но её никак избежать не получается.
#320 #572581
>>572565
choice = int(input("Your choice: "))
#321 #572583
>>572565
А также убери кавычки, если тип интеджер планируешь.
#322 #572585
>>572583
Здесь убрать?
while choice != "0":
#323 #572586
>>572565
Выполни две эти инструкции короче.
>>572581
>>572583
А если тебе надо, чтобы было строковое значение то обозначь кавычки у операндов в условных конструкциях, чье значение должен вводить пользователь.
#324 #572588
>>572586
Нет, я планирую только инт, как вводимое значение.
#325 #572590
>>572585
Да, но можно оставить если кое что поменять, что я уже сказал>>572586
Если проще, то обозначь кавычки возле чисел, в блоке кода где есть условные конструкции Те же if то есть.
>>572588
Тогда поступи как я уже сказал>>572583
>>572581
19 Кб, 332x250
#326 #572630
>>572590
Спасибо, заработало, но не так, как я ожидал.
https://ideone.com/EMjYJx

А можно сделать так, чтобы из словаря выводились ключи в форме "Power, Speed, Magic"?
Т.е. без лишних знаков.
#327 #572634
>>572630
x["Значение ключ"]
Будь внимателен.
#328 #572635
>>572634
ключа*
фикс
#329 #572637
Реально ли запустить код питона прямо внутри вебхостинга от гитхаба? То есть как сам сайт сделать понятно, а надо чтоб, на нем выводился результат из бесконечного скрипта. Или как всегда нужен отдельный дедик на линуксе? Уже забыл все
#330 #572640
>>572634
>>572630
А стоп это я себе должен сказать будь внимателен.
#331 #572642
>>572634
Прости, я не догоняю, что ты имеешь ввиду.
И да, можно у тебя попросить пояснить, в каких ситуациях используется None? То что это пустое значение, я знаю. Только вот, как и когда его стоит ставить, а когда - вредно и опасно?
#332 #572645
>>572642
Все нормально, это я ошибся.
#333 #572646
>>572645
Лол, бывает.
Так что? Можешь объяснит сакральное значение Нон или дать ссылку, где это описано нормально?
Просто, мне казалось, что нон нужно выставлять для переменных, которые будут условием для while циклов.
#334 #572648
>>572642
None это аналог Null. В большинстве случаев используется для того, чтобы попросту присвоить значение переменной, а также для проверок.
На счет словарей советую прочесть вот что, если ты готов пойти путями не предусмотренными в книге.
Вообще лучше вот что прочти: https://www.ibm.com/developerworks/ru/library/l-python_part_4/
#335 #572649
#336 #572663
>>572648
Прости, что отвечаю не дочитав до конца, но что такое хэш?
Вот уже два раза встретил:
Словари реализованы как хеш-таблицы с быстрым доступом.

Словарь (dictionary) — это ассоциативный массив или хеш.

Где можно прочитать, что такое хеш?
#337 #572665
>>572663
Детектив Хэш Бриджес
#338 #572669
>>572663
Смотря как объяснять. Если проще, то это и есть тот самый словарь.
Гугли лучше, и если не понятно, тогда и обращайся.
1978 Кб, 1200x1052
#339 #572678
>>572637

>2015


>не иметь собственного сервера



Алсо, насколько я помню гитхаб пейджес умеют только статик контент. Ибо нехуй.
#340 #572748
Аноны, есть ли pyqt для 3.5 версии? Не нашел ничего.
И что можете посоветовать для совсем нуфага из граф. интерфейса для простенькой программы?
81 Кб, 400x300
#341 #572749
>>569632 (OP)
У кого есть ключик? А то мой старый крякнутый легаси не катит уже. sedfrog.py
#342 #572751
>>572749
Бесплатную используй
#343 #572753
>>572751
И нахуя мне компьюнити без поддержки джанги и прочих ништяков? Тогда уж лучше на 4.x сидеть.

Жаба душит пока 89$ платить. Хотя твердо намерен отблагодарить ребят из JB.
sage #344 #572759
>>572753

> намерен отблагодарить ребят из JB


Отсоси им, пидарок.
#345 #572762
>>572749
Надеюсь скоро какие-нибудь варианты появятся, пока что на триале сижу

>>572751
Иди нахуй со своим обрубком
#346 #572864
>>572749
Охлол, наконец-то они проапгрейдили свой 512-bit RSA.
#347 #572875
>>570563
>>570563
да вызов вызов, только на один таб левее вызов поставь и будет ок
#348 #572890
а посоветуйте у кого вы купили свой дедик
#349 #572910
>>571128
А почему не работает этот подскажете:
https://titanpad.com/dDMn9Gd3nD
sage #350 #572911
>>572890

>посоветуйте у кого вы купили


Ебал ее рука. Сажа косноязычному пидору.
#351 #572914
>>572759
Там они же хуи изо рта твоего папаши с маманькой не вынимают. Там не пристроится при всем желании.
#352 #572920
>>572911
Совсем ебнулся?
#353 #572926
>>572748
Для 3.5 можно из исходников зделать.
#354 #572932
>>572890
Я бручу себе дедики.
#355 #572976
>>570309

>User is not founded


>founded


програмистишсчка
#356 #573005
>>572890
Хетцнер и ДО. Но я проплатил оба до обвала рубля. Теперь на конвертации валют охуеешь, наверное лучше у рашкованских взять.
#357 #573121
>>572910
В чём сакральный смысл этого действия?
for line in lines:
prev = lines[lines.index(line) - 1]

Полагаю, ты с отступами обосрался и хотел весь последующий код в этот же цикл запихнуть. Только знай, что lines[-1] выдаст последнюю строчку, которая врядли как-то связана с первой.
#358 #573138
>>572976
Что не так? Юзер не основан, вот оснуют юзера, тогда и заходите.
#359 #573147
>>573138
Вторая форма глагола found - found. Это глагол неправильный же.
#360 #573152
>>573121
Как сделать так, чтобы работал с несколькими файлами этот скрипт вместо одного?
#361 #573165
>>573152
писькой потрясти 128 раз по часовой стрелке.
#362 #573171
>>573147

>\t


find - found.
Умник хуев.
#363 #573187
Знаю синтаксис питон, основные выржения, чем дальше заняться? Ставить какую-то задачу и начать выполнение и походу запонять пробелЫ?
32 Кб, 512x288
#364 #573195
>>573187
Главное не табы.
#365 #573202
>>573195
Взлольнул немного))

Я про табы в знаниях.
#366 #573205
>>572910
Тебе все правильно сказали, if должен быть внутри цикла for.
>>573121
Вероятность того, что последняя строчка подойдет под условия if крайне мала, посему сей нюанс был проигнорирован.
#367 #573328
>>569632 (OP)
На линукс IDE какое, чтоб можно было сразу код запустить как в пишарме?
#368 #573362
>>573328
PyCharm.
#370 #573373
>>573364

Да, но покупать денег нет, а мне нужны возможности платной версии.
#371 #573522
>>573373
Ну и соси тогда.
#372 #573617
>>572669

Анон, поправь, если я не прав:
Хеш(или хеш-таблица) - это пачка данных, выложенных в порядке ключе-значение.
В Питоне реализована хеш-таблица с открытой адресацией.
Хеширование(хеш-функция) - просто преобразование данных в таблицу.
Совпадение ключей в словаре(хеш-таблице) приводит к коллизии, но произойти это может только при генерации массива. тут под сомнением, т.к. мне кажется, что, все-таки, тут коллизия из-за записи двух кусков информации в одну ячейку.
В словаре можно проводить поиск по индексу, но это нежелательно.
С помощью функции dict() можно быстро сделать словарь, но все ключи обязательно должны быть строками.

Так же, словарь - это map. Но что такое map я не смог нагуглить. Появлялось сообщение, что это функция, которая применяет действие ко всем элементам списка.

Помоги, добрый Анон!
#373 #573623
>>570309
Какая ide?
#374 #573633
>>573623
PyCharm.
#375 #573635
>>573328
spyder pydev
#376 #573636
>>573617

> Так же, словарь - это map. Но что такое map я не смог нагуглить. Появлялось сообщение, что это функция, которая применяет действие ко всем элементам списка.


В питоне - да.
Имеется ввиду map из c++ это совсем другая вещь.
http://www.cplusplus.com/reference/map/map/
тебе это не важно, вкратце - map в c++ это вроде dict в питон или hash в perl.
#377 #573648
>>573617
map по-английски значит "отображение". Функция map отображает один список в другой, а словарь (dict) - ключи в значения. В С++ словарь называется map, а функция - transform. Просто разные варианты названия одного и того же.
#378 #573654
>>572926

>для совсем нуфага

#379 #573658
>>573633
Но в pycharm другие цвета.(
#380 #573662
>>573658
А ты про темы слышал?
http://www.ideacolorthemes.org/
#381 #573682
Так, а теперь серьёзный вопрос. Кто читал или листал хотя бы Sean Riley: Game Programming with Python? О какой библиотеке/ах в ней речь?
#382 #573806
>>573373
Найди возность скачать 4.x и пиздуй на китайский baidu.com, там EMBRACE ключики ломанные на сотню-другую лет.
#383 #573907
>>573662
а че за тема? мне так и не ответили

по линку кстати не нашел ее
67 Кб, 775x734
#384 #573946
>>573806

Ну ахуеть теперь
#385 #573970
>>573373
>>573373
>>573946
у меня для 4.* есть ключ, ищю для 5 версии, есть у кого?
65 Кб, 1444x646
#386 #573971
#387 #573972
Зарепортил всех варезо-пидоров.
#388 #573985
>>573972
Зарепортил тебя за преступное скудоумие.
#389 #573989
Пиздос аутисты, эта новая pycharm ломается ну максимум за 10 минут. Не знают что им делать, программисты, блядь.
#390 #573991
>>573989
Зарепортил тебя за пидорское высокомерие.
#391 #573998
>>573991
Ну не стукай
#392 #574014
>>573989
Рецепт в студию, или пиздабол.
#393 #574021
>>573946
Ты какой-то кривой:

http://download-cf.jetbrains.com/python/pycharm-professional-4.5.4.exe

http://www.360kb.com/kb/2_24.html

А там ключики. Не такие, как у меня, но ты проверяй, проверяй.
#394 #574023
>>574014
Идите нахуй, неспособные ни на что выблядки. Пиздец, уже в ебаный jvm-байткод не могут. Bytecode Viewer в руки и сам хуярь.
#395 #574024
Блядь, съебите в /s/, каким хуем это в питонотреде и программаче забыло?
#396 #574025
Поставил Анаконду, запускаю Notebook - выбрасывает на Jupiter, где написано что no notebook running. Хуйня и я хуй тупой
#397 #574032
>>574023
Мамкин про, ну помоги ты начинающим.
#398 #574092
>>574032
Да нахуй вам этот pycharm сдался-то вообще, будто других программ нет. Прицепились так, будто это XCode, без которого действительно проблематично на мак/ios писать.
#399 #574321
>>574092
нравитса потомушто!
#400 #574407
>>573648
>>573636
Но в остальном все верно?
#401 #574520
котаны, реально ли безгуевой проге присобачить свою иконку вместо стандартной? заебла глаза мозолить.
sage #402 #574521
Первый раз в этом треде, но ОП какой-то толстый тролль.

> 3


> pycharm



ПИЗДОС

на самом деле питон второй, интерпретатор PyPy, редактор сами знаете какой
#403 #574524
>>574521
уйди, некрофил.
#404 #574529
>>574521

> Первый раз


Надеюсь последний.
517 Кб, 792x658
#405 #574612
#406 #574625
Минвайл, в реальном мире:

>Состоялся релиз Fedora 23.


>Отдельного упоминания заслуживает и то, что теперь по умолчанию используется Python 3. Вторую версию всё так же можно установить из репозиториев.



Кукаретикам напоминаю, что rhel, а с ним и центось - оба базируются на федоре, и оба одни из самых популярных серверных дистрибутивов.
#407 #574637
>>574625
Вот когда в rhel будет питон3 по умолчанию тогда и приходи. fedora это cutting edge эксперементальный бета дистр.
#408 #574641
>>574637

>Вот когда питон3 будет юзать по умолчанию хоть один дистрибутив тогда и приходи.


>Вот когда питон3 будет юзать по умолчанию хоть кто-то кроме арчешкольников тогда и приходи.


>Вот когда питон3 будет юзать по умолчанию хоть кто-то кроме арчешкольников и федорасов тогда и приходи.


>Вот когда питон3 будет юзать по умолчанию хоть кто-то кроме арчешкольников и федорасов и дебиано-даунов тогда и приходи.


Зачем уходить-приходить? Тенденция ясна же. Пока ты свой говнокод портируешь - тройка уже везде будет.
#409 #574648
>>574641
Иди домашку делай пока мы энтерпрайзные облака разворачиваем в продакшн на ламповой двоече с old-style классами.
#410 #574649
>>574648

>пока мы летаем в манямирке

#411 #574904
Аноны, какова максимальная длина символов в переменной типа str?
#412 #574933
>>574904
[-x;x]
#413 #574935
>>574933
Не так вопрос задал, наверное.
Мне нужно узнать максимальную длину строки, которую можно записать в переменную.
#414 #574943
>>574935
Чего несешь? Ну, пока память не кончится или пока не упрется в пределы адресации. Овердохуя, короче, у тебя на столько плашек памяти денег нет.
#415 #574969
>>571405
Потому что он ньюфаг.
Stepan !!7XQW5zE03U #416 #574994
тред не читай @ спрашивай
Как на питоне написать cli программу, которая будет обрабатывать введенный пример а-ля 2 + 2 * 2 и выдавать ответ?
#417 #575000
>>574994
print eval(raw_input())
#418 #575002
или для питона 3 -
print(eval(raw_input()))
#419 #575004
>>575002
Сам то запускал тестил, ынтырпрайзник мамкин?
#420 #575005
>>575004
Ну да.
#421 #575006
а лол в глаза ебусь я для третьего тоже написал raw_input ну пичалька
#422 #575007
>>575005
NameError: name 'raw_input' is not defined

Манда
#423 #575009
>>575007
print(eval(input()))
#424 #575044
Аноны, я чего-то затупил.
Есть один код:

import random
a=3
b=3
c=3
for i in range(101):
for char in range(101):
x=random.randint(3,8)
y=random.randint(-1,4)
z=random.randint(-1,2)
if a+b+c >= x+y+z:
print('success')
else:
print('bad luck')

И принт каждой строчки тут, в принципе, нафиг не нужен. Как мне посчитать и вывести общее кол-во удачных/неудачных заходов в цикле?
#425 #575063
>>575044
Добавь две переменные и итерируй.
#426 #575073
Добрые люди подскажите как заставить Paramiko совершить подключение через SOCKS5.Пытаюсь сделать вот что :
s = paramiko.ProxyCommand('nc -X 5 -x ' + self.__proxy_list[self.__proxy_usage_index.value] + ' %h %p')
con = ssh.connect(ip, port=22, username=login, password=password, timeout=self.__timeout_con, look_for_keys=False, allow_agent=False, pkey=None, sock= s) результатом всегда получаю socket.timeout. Без танцов с прокси все отлично работает
#427 #575127
>>575073
man tsocks
sage #428 #575147
Я когда-то держал настоящего питона в руках. Он очень костлив, словно пакеты в питоне.

Сажу ставлю потому, что есть интересный тред об уничтожении человеков.
#429 #575148
>>575147
чеза трет?
#430 #575178
Как вы еще исходники чужие можете смотреть? Я после 5-6 часов ковыряния с кодом быдло-программеров на питон вообще смотреть не могу, пока не просплюсь. И то, он меня и во сне достает. Нужно в отпуск идти.
#431 #575184
>>575178
Очень тебе сочувствую, но раз уж ты здесь, может подскажешь как чужой код лучше читать. Вот есть прожект, в котором я хотел бы разобраться, но я даже не знаю с чего начать, не тупо же по порядку читать это все. Будь добр, расскажи, как ты это делаешь.
#432 #575185
>>575184
С комментариев. Адекватно написанные комментарии - 90% понимания кода.
#433 #575186
>>575185
В нормальном коде комментарии не нужны.
#434 #575187
>>575186
Припомнишь мои слова, когда будешь ковыряться в больших проджектах. С мелких уровня лабы я с тобой согласен. Бывали кадры, которые вообще без комментариев делали свои проекты. На разбор уходило до 2ух недель. А это время и деньги.
#435 #575188
>>575186
Т.е. если код плохой, то нужно его сразу нахуй слать и отказываться с ним работать? Или что?
#436 #575189
>>575185
>>575186
Дискуссия о нужности/ненужности, конечно, дело хорошее, но я имел в виду немного другое. Речь шла о эффективном понимании все прожекта в целом. Я просто этого никогда раньше не делал, и открыв проект, здравый смысл меня направил прямиком к requirements.txt, а дальше-то куда я не знаю. Разбирать каждый файл по порядке - затея сомнительная. Поэтому и спрашиваю о неких методиках, или, возможно, есть некие файлы, с которых стоит начинать?
#437 #575190
>>575187
Надо по нормальному называть перменные и методы. Надо писать докстринги иногда. У больших проектов должна быть документация, мы обычно wiki держали внутренний под это - оно обычно встроено в системы типа redmine или там trac.
#438 #575191
>>575189
Смотря что за проект. Если это какое-нить вебприложения я бы изучил сначала модели.
#439 #575197
>>575191
Клиент-серверное приложение. Еще и с RUDP каким-то извращаются:

>A protocol extending the txrudp datagram protocol. This is the main protocol which gets passed into the twisted UDPServer.


Я пока ничего не понимаю.
#440 #575205
>>575189
Ты знаешь, что он делать должен? Ты можешь его запускать? Проследи, что и когда код делает (вот прям принты в каждую функцию вставь, например), какие цепочки функций и для чего вызываются. На самом высоком уровне сначала (например "вот оно получает по сети данные, потом что-то с ними делает, потом куда-то отправляет, полуает ответ, ещё раз преобразует и у нас анус на экране появился"). А потом детально спускайся до каждого шага, если нужно, и рассматривай как и куда он данные отправлял, в каком формате, откуда анус вдруг появился и т.д.
#441 #575209
>>575205
Да, сверху вниз, наверное, будет сподручнее. Спасибо за действенный совет. Буду пробовать.
#442 #575248
>>575187

>Бывали кадры, которые вообще без комментариев делали свои проекты.


Это я, наверное. На простые участки комменты писать не нужно, ведь все очевидно. А но сложные - лень, ибо хуй объяснишь.
#443 #575249
>>575248

> На простые участки комменты писать не нужно, ведь все очевидно


Расскажи это тому, кто будет разбирать твой код, когда в нём всё переплетено связями между собой.
#444 #575251
>>575249
Гугли что такое job security. Перловики специально вот обфосцируют свой код чтобы потом быть незаменимым специалистом.
#445 #575254
>>575251
Поэтому то перловакансию сейчас хуй найдешь.
36 Кб, 317x372
#446 #575255
>>575249
Этим кстати нубы отличаются от профи. Нубы пишут такой код, который понятен даже нубам. Профи пишут такой код, который даже они сами с трудом через пару месяцев разберут. Поэтому их нельзя просто взять и уволить и заменить кем-то другим.
#447 #575256
>>575255
Есть моар подобных пикч?
#448 #575257
>>575254
Во сейчас ввел в недхантере - куча ваканский.
В газпромбамк, мейлру, рамблер, центральный телеграф. И зарплаты хорошие
#449 #575264
>>575257

>куча ваканский.


Даже на питоне больше. А на руби меньше, лол
#450 #575279
>>575184
Начинать надо с user api. Смотришь сначала что в функциях, которые торчат наружу. Потом глубже, глубже. Всегда так делал и всегда всё становилось более менее понятно. Но это в основном для поиска бага. Ни разу не было задачи изучить™ какую-то библиотеку.
>>575185
Не знаю насчёт комментариев, их мало кто пишет. Но вот докстринги (а значит и документация) — это да. Плюс зачастую в документации есть туториал для разработчиков.
>>575255
Скорее наоборот.
107 Кб, 317x372
#452 #575288
#453 #575289
>>575283
Блядь. Как такое искать?
148 Кб, 565x497
#454 #575302
#455 #575540
Читаю укус питона про наследование, там пишется:

>метод __init__ базового класса вызывается явно при помощи переменной self, чтобы >инициализировать часть объекта, относящуюся к базовому классу. Это очень важно >запомнить: Python не вызывает конструктор базового класса автоматически – его >необходимо вызывать самостоятельно в явном виде.



В питоне 3.х такая же хуйня?

http://wombat.org.ua/AByteOfPython/object_oriented_programming.html#id8
#456 #575542
>>575540
Да, конструктор родителя вызывается явно, и это благо.
#457 #575544
>>575540
Да, там же весь код написан под 3.
#458 #575545
>>575542
То есть, если я не вызову __init__ родителя в наследуемом классе, то не смогу создать экземпляр с теми переменными, что в __init__ родителя?
#459 #575546
>>575540
Да.
Только в питон2 нужно писать super(ИмяКласса, self).__init__() в питон3 можно написать super().__init__()
#460 #575548
>>575545
Если у наследуемого класса определен __init__ и в нем не вызван super.__init__ или явно конструктор предка то __init__ предка не выполниться и соотв. если ты в нем какие-то свойства описывал они не будут прописаны.
#461 #575549
>>575542
>>575544
>>575546
Вот скажите мне, почему я читаю и много чего из того, что там написано, не укладывается в голове? Вроде и понимаю, что пишут, а когда большие примеры, то у меня просто глаза разбегаются и хочется плакать.
#462 #575550
>>575548
Спасибо.
#463 #575554

> Оценки: "{0:d}"'


Что означает {0:d} ? А конкретно :d ?
#464 #575566
Как в ёбаном PyCharm запустить файл с кириллицей?
#465 #575607
>>575554
Некая целочисленная переменная, которая где-то определена, очевидно.
#466 #575609
>>575607
Нет, в коде она нигде не определена.
4 Кб, 305x46
#467 #575612
>>575554
https://docs.python.org/3/library/string.html#format-string-syntax
0 - нулевой элемент из tuple параметров форматирования, d - тип int
#468 #575613
>>575549
сарян!
#469 #575614
>>575612

>d - тип int


Его обязательно обозначать при форматировании?
#470 #575617
>>575614
Нет. Пройди по ссылке.
Можешь просто написать '{0}'.format(1)
#471 #575618
>>575566
Пиздец. Неужели придётся ставить виртуалку с прыщами из-за этого говна?
#472 #575628
>>575618
Иди нахуй, агробыдло.
#473 #575631
>>575628
Лол. Кто бы говорил.
36 Кб, 500x581
#474 #575651
Сап, питоны. Столкнулся с сабжем, посоветуйте, чего почитать, чтобы быстро, но содержательно и без воды разобраться в языке быдлокодеру с плюсов?
С меня как обычно.
#476 #575661
>>575653
Интересный ресурс, благодарствую.
#478 #575668
>>575651
Официальный туториал и документацию на пистон.орг. Он на таких и рассчитан.
#479 #575671
>>575651

> Столкнулся с сабжем


Каким, дибил?
245 Кб, 660x1000
#480 #575676
>>575662
Спасибо, но я лучше почитаю.
>>575671
Ты что в /pr/ делаешь, болезный?
>>575668
Всем спасибо, укатился читать. Выглядит интересно.
#481 #575693
>>575676
Иисус! Больше не возвращайся!
#482 #575702
>>575693
Ч за иесус, поясните
#483 #575705
>>575702
Ты чо сука не православный?
#484 #575735
Чё значит backlog в socket.listen(backlog). Это количество одновременных соединений?
#486 #575822
Сап, питоны. Есть обычный for-цикл и есть некая функция, которую нужно выполнять при всех итерациях кроме самой первой, как это сделать наиболее питонично? Или есть только вариант с подсчётом номера текущей итерации и условием i > 1 перед этой функцией?
#487 #575830
>>575822
for i, val in enumerate(smth):
..if i != 0:
....call_func(val)

во втором питоне можно сделать
map(call_func, lst[1:])
но это довольно убого. в третьем list(map(call_func, lst[1:])) - ещё более убого
#488 #575833
>>575830
или
for i, val in enumerate(smth):
..if i ==0: continue
..some_func(val)
#489 #575836
>>575822
Или если итерируешься по списку можешь сделать
for i in lst[1:]:
..call_func(i)
Если это итератор можешь у него дернуть next один раз перед for и потом итерироваться. Или сделать list(iterator)[1:]
#490 #575851
Поцоны, посоветуйте какой-нибудь проектик, где можно будет набить руку в джанго. Идей нет, а блоги кажутся безвкусными и безынтересными.
#492 #576012
Помогите переписать мой говнокод.
Вот условие:
Напишите простой калькулятор, который считывает с пользовательского ввода три строки: первое число, второе число и операцию, после чего применяет операцию к введённым числам ("первое число" "операция" "второе число") и выводит результат на экран.
<code lang="python3">
a = float(input())
b = float(input())
z = input()
if (b == 0) and (z == 'mod' or z == 'div' or z == '/'):
\tprint('Деление на 0!')
if z == '':
print(a
b)
if z == '/':
print(a / b)
if z == '+':
print(a + b)
if z == '-':
print(a - b)
if z == 'mod':
print(a // b)
if z == 'div':
print(a % b)
if z == 'pow':
print(a b)
</code>
#493 #576020
>>576012
Чувствую у меня говнокод, покажите как переписать нормально.
Напишите простой калькулятор, который считывает с пользовательского ввода три строки: первое число, второе число и операцию, после чего применяет операцию к введённым числам ("первое число" "операция" "второе число") и выводит результат на экран.
[code lang = "python3"]
a = float(input())
b = float(input())
z = input()
if (b == 0) and (z == 'mod' or z == 'div' or z == '/'):
\tprint('Деление на 0!')
if z == '':
print(a
b)
if z == '/':
print(a / b)
if z == '+':
print(a + b)
if z == '-':
print(a - b)
if z == 'mod':
print(a // b)
if z == 'div':
print(a % b)
if z == 'pow':
print(a b)
[code]
#494 #576021
>>576020
import operator
operators = {'+': operator.add, '-': operator.sub, '/': operator.truediv, '*': operator.mul}
a, b = float(input()), float(input())
o = operators[input()]
print(o(a,b))
#495 #576024
>>575651
Не с воркача?
#496 #576025
>>576021
Ах да
try:
..print(o(a,b))
except ZeroDivisionError:
..print('Деление на ноль')
#497 #576031
>>576021
>>576025
Спасибо
79 Кб, 594x396
#498 #576046
Задавал вопрос в стаке, но, боюсь, ответа не дождусь.

Каким образом с помощью Python можно вывести все имена открытых приложений, но только из панели задач (taskbar)?

Пробовал искать ответы, но там показывали лишь примеры, где выводят все процессы из tasklist с помощью ctype.
#499 #576049
>>576046
import wnck
scr=wnck.screen_get_default()
for w in scr.get_windows(): print w.get_name()
#500 #576050
>>576049
ну соответсвенно как отфильтровать только окна с текущего рабочего стола думаю сам догадаешься
#501 #576059
>>576050
Мне под винду.
#502 #576066
>>576059
хех ну тогда гугли как через winapi это делается на msdn должно быть и дергай через ctypes
#503 #576097
>>576046
А если взять все процессы из tasklist, а потом отфильтровать процессы с пустым "Window Title"?
#504 #576110
>>576097
Пробовал так: http://pastebin.com/PNBAvisT

Но выводит так (с тем, что нужно):
['', 'Python 3.4.3 Shell', 'tk1.py - D:\\work\\python\\WorkPlace\\tk1.py (3.4.3)', '/pr/ - Python - Mozilla Firefox', 'D:\\work\\python\\WorkPlace\\tk1.py - Notepad++', 'WorkPlace', 'AMD:CCC-AEMCapturingWindow', 'Program Manager']
#505 #576239
>>576059
Соболезную
#506 #576249
>>576110
А это разве не то, что ты хотел? Я, видимо, тебя не понял.
#507 #576263
Пилите перекат.
#508 #576269
>>576263
>>570190 (OP) перекат
#509 #576272
Аноны, каким образом учить пайтон, если я вот читаю укус питона, там идёт глава - разбор каких-то примеров и всё. У меня идей нету, где можно эти примеры задействовать, чтобы придумать себе самому задачи по пройденному материалу для закрепления. Что можно взять в таком случае для обучения?
#510 #576283
>>576269
Тот перекат закрыт, пили по новой.
#511 #576289
>>576287 (OP)
Перекат.
#512 #576451
>>576249
Ну, AMD-хуйню я не открывал. Program Manager -- я вообще не знаю, что это. К примеру, я открыл файловый менеджер и браузер и должен видеть только их, а не прочую херь.
#513 #577314
Ребятушки, вон о Руби/Рельсах все говорят в таком ключе, мол, на Винде нет смысла ей заниматься, мол, недопилено. То тут гем не заработает, то там Рельсы не заведутся, как надо, и так далее.
А с Питоном/Джангой вообще возможна нормальная работа из-под Винды?
#514 #577706
понапрограмируют в пичармах, потом прибирай за ними
#515 #577707
>>577314
Блять, поставь убунту и не еби людям мозг
#516 #578423
Ньюфаг вкатился. Буду дрочить этот ваш пифон. Сложно или нет?
#517 #579020
def sdelat_huinyu(shit):
if shit == 1:
nigger = 'Nigger1'
elif shit == 2:
nigger = 'Nigger2'
return nigger

sdelat_huinyu(1)

Получаю local variable referenced before assignment? Это какое-то специфическое поведение 2.7? Ебать это говно.
#518 #579812
Нормальналый код к этому ТЗ:
На­пи­ши­те про­грам­му, ко­то­рая в по­сле­до­ва­тель­но­сти на­ту­раль­ных чисел опре­де­ля­ет сумму всех чисел, крат­ных 3 и окан­чи­ва­ю­щих­ся на 8. Про­грам­ма по­лу­ча­ет на вход на­ту­раль­ные числа, ко­ли­че­ство введённых чисел не­из­вест­но, по­сле­до­ва­тель­ность чисел за­кан­чи- ва­ет­ся чис­лом 0 (0 — при­знак окон­ча­ния ввода, не вхо­дит в по­сле­до­ва­тель­ность). Ко­ли­че­ство чисел не пре­вы­ша­ет 100. Введённые числа не пре­вы­ша­ют 300. Про­грам­ма долж­на вы­ве­сти одно число: сумму всех чисел, крат­ных 3 и окан­чи­ва­ю­щих­ся на 8.

Код:
result = 0
numbers = []
for i in range(99):
numbers.append(input('\n'))
if numbers % 3 == 0 and numbers % 10 == 8:
result += numbers
if result >= 300:
print("\n{} > 300 ").format(result)
break
elif numbers == 0:
print("\nРезультат: {}").format(result)
break
#519 #580268
>>569632 (OP)
Стоит ли мне учить питон? Я знаю C++, Java, Matlab, учу C#. Этого вполне хватает для решения любой задачи. Или нет, и я что-то упустил?
230 Кб, 751x1000
127 Кб, 1200x857
126 Кб, 735x1050
62 Кб, 1024x512
#520 #580867
[CODE]a = str(input())
b = str(input())
c = str(input())
if a >= b and b >= c:
print (a + '\n' + c + '\n' + b)
elif a >= c and c >= b:
print (a + '\n' + b + '\n' + c)
elif b >= a and a >= c:
print (b + '\n' + c + '\n' + a)
elif b >= c and c >= a:
print (b + '\n' + a + '\n' + c)
elif c >= a and c >= b:
print (c + '\n' + b + '\n' + a)
elif c >= b and b >= a:
print (c + '\n' + a + '\n' + b)[/CODE]
Посоны, что не так? точнее я понимаю что обсираюсь с логическими операторами, но не могу понять где. задачка из степик. Использовать соответственно могу только то, что преподали, и такой вот говнокод получается. Не могу разобраться. С меня немного пикч.
#521 #580868
>>580867
И с разметкой обосрался.
46 Кб, 613x898
53 Кб, 788x878
35 Кб, 790x689
63 Кб, 600x450
#522 #582050
Мне кажется я пишу говнокод.. так ли это?
Обновить тред
Двач.hk не отвечает.
Вы видите копию треда, сохраненную 28 ноября 2015 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
« /pr/В начало тредаВеб-версияНастройки
/a//b//mu//s//vg/Все доски