@ru_python

Страница 4782 из 9768
Gennady
16.02.2018
21:06:44
Hello World.
Ты выиграл.

Alexander
16.02.2018
21:07:00
Какая разница, если ты не понимаешь суть программирования? Питон - это синтаксис и особенности подхода. Ты же говоришь, что ты вообще ничего не знаешь.

Denis
16.02.2018
21:09:39
Если есть какой-то опыт программирования, основы питона за две пары учатся

ノルズウルフ
16.02.2018
21:10:02
Check out "SoloLearn: Learn to Code for Free" https://play.google.com/store/apps/details?id=com.sololearn

Google
ノルズウルフ
16.02.2018
21:10:09
Поможет

Да и на YouTube есть качественные каналы по изучению

Alexander
16.02.2018
21:11:11
Чот на хакатон захотелось...

?

Tigran
16.02.2018
21:12:08
Блэд, что я сделал >>> ++++_++_++++++_-_++++_+_+-+_+_++++++_+-+_++-_+--+_-+--_-_++++_---_-+_--++--_ 'HI.THERE.RUPYTHON!'

Nougatman
16.02.2018
21:12:20
А потом удивляются говнокоду пыхеров

Tigran
16.02.2018
21:12:47
>>> from morse import * >>> _ = Morse() >>> ++++_++_++++++_-_++++_+_+-+_+_++++++_+-+_++-_+--+_-+--_-_++++_---_-+_--++--_ 'HI.THERE.RUPYTHON!'

Сонячний єнот
16.02.2018
21:13:27
Нужно будет сделать бота, который будет распознавать азбуку Морзе.

И наоборот.

Alexander
16.02.2018
21:14:55
пфффф чо там делать-то? )

Сонячний єнот
16.02.2018
21:15:20
пфффф чо там делать-то? )
ну хз, но мне уже лень.

Alexander
16.02.2018
21:16:19
Там главное - словарь вручную заполнить

Google
Сонячний єнот
16.02.2018
21:21:27
Alexander
16.02.2018
21:21:54
Вон оно чо.

Tigran
16.02.2018
21:22:57
В общем, наслаждайтесь: https://gist.github.com/Saluev/c07bef8ffa7290345b0c816fed2ca418

Alexander
16.02.2018
21:23:19
Откуда они плюсики взяли?

Сонячний єнот
16.02.2018
21:23:46
Tigran
16.02.2018
21:23:57
https://gist.github.com/ebuckley/1842461
Ну я оттуда и взял словарь

Я ж не про кодирование-декодирование, я про прикол с ++++_++_++++++_-_++++_+_+-+_+_++++++_+-+_++-_+--+_-+--_-_++++_---_-+_--++--_

Откуда они плюсики взяли?
Плюсики вместо точек.

Alexander
16.02.2018
21:24:53
А чем точки не понравились? )

Сонячний єнот
16.02.2018
21:25:23
Tigran
16.02.2018
21:25:37
Ну, с точками валидный код на Питоне не получится

Alexander
16.02.2018
21:26:52
Я передумал. Не буду писать бота. Лень. Но вот https://pastebin.com/dbTTQEMS

Tigran
16.02.2018
21:28:04
Теоретически можно замутить тьюринг-полное подмножество питона из трёх символов: +, - и _.

(При условии предварительного _ = SomeObject()).

Ibh
16.02.2018
21:31:01
а мне интересно, почему в питоне нет конструкции switch/case. в некоторых случаях было бы удобнее писать чем огороды городить со словарями или if/elif

Tigran
16.02.2018
21:31:55
В С/С++ она транслируется в очень быстрый jump по указателю из таблицы. В Питоне так оптимизировать не получится, так что и конструкция эта не нужна.

Tigran
16.02.2018
21:33:48
Словари? Это как?
Ну предложи конкретный кейс, и я покажу, как это на питоне переписать.

Ibh
16.02.2018
21:33:54
def f(x): return { 'a': 1, 'b': 2 }.get(x, 9)

Google
Tigran
16.02.2018
21:34:07
Отличный пример, кстати.

Даже с дефолтом!

Artem
16.02.2018
21:34:20
def f(x): return { 'a': 1, 'b': 2 }.get(x, 9)
Ну только там ещё лямбды вот это все

Ibh
16.02.2018
21:34:32
https://simonwillison.net/2004/May/7/switch/

Tigran
16.02.2018
21:34:51
switch Var case 100: print(100)
if Var == 100: print(100), в чём проблема? )

Сонячний єнот
16.02.2018
21:35:01
if Var == 100: print(100), в чём проблема? )
Много-много таких кейсов

Ibh
16.02.2018
21:35:18
if Var == 100: print(100), в чём проблема? )
да нет проблем. просто запись была бы красивее визуально :)

Tigran
16.02.2018
21:35:22
Много-много таких кейсов
Ну если на каждое число разное что-то надо напечатать, засунь варианты в словарь.

print({100: 100}.get(Var, deflt))

Artem
16.02.2018
21:35:55
if var == 100: print(100) if var == 100: print(100) if var == 100: print(100) if var == 100: print(100) if var == 100: print(100)

Достаточно много кейсов?

Сонячний єнот
16.02.2018
21:36:41
Баюсь, баюсь, пойду прасрусь

Ibh
16.02.2018
21:39:48
switch(mode) case 0: result = do_something1() if result mode = 1 else mode = 2 break case 1: result = do_something2() if result mode = 2 else mode = 3 break case 2: result = do_something3() if result mode = 3 else mode = 0 break default: mode = 0

case 3,4,5... и так далее

с if/elif видуальная мешанина получается

Tigran
16.02.2018
21:41:03
а как же class State, вот это вот всё

Google
Ibh
16.02.2018
21:41:26
всё хуже. я сишник, микроконтроллерщик, драйверописатель. там это постоянно

Ibh
16.02.2018
21:41:44
а как же class State, вот это вот всё
так.. пошёл почитаю...

Tigran
16.02.2018
21:41:53
в твоём случае элементарно: {0: do_something1, 1: do_something2, 2: do_something3}[mode]() ...

Вова, Usopp
16.02.2018
21:42:06
но 1с же делает битрикс...

Tigran
16.02.2018
21:42:13
так.. пошёл почитаю...
про что почитаешь? про ООП? )

это полезно, да

Sadness
16.02.2018
21:43:32
у него тут оказываеться профессиональное сообщество..

Tigran
16.02.2018
21:44:05
?

Ibh
16.02.2018
21:44:06
про что почитаешь? про ООП? )
нет. про то как это можно на классах запилить. раньше просто и в голову не приходило :)

Sadness
16.02.2018
21:44:18
господа. а есть ли среди вас те кто в настоящий момент проходит 3ий запуск Ml_open?

Ibh
16.02.2018
21:44:21
как-то привык к сишной простоте

Sadness
16.02.2018
21:44:57
?
да ты там вчера послал к нам одного..

Вова, Usopp
16.02.2018
21:45:16
как-то привык к сишной простоте
будь ты сишником, сделал бы на битовых смещениях

тут же явно 123 и 230

Tigran
16.02.2018
21:45:56
к вам - это в бегиннерс, что ли? )

Sadness
16.02.2018
21:46:13
так, и?
возьми обратно.

Tigran
16.02.2018
21:46:30
Sadness
16.02.2018
21:54:15
я смотрю профессиональное сообщество профессионально молчит. никто не хочет признаваться что в третий раз пытатьеся безуспешно попасть в рейтинг.

Google
Sadness
16.02.2018
21:56:25
пишут бота телеграм

Tigran
16.02.2018
21:56:27
Я участвовал в CodeForces round и огорчён производительностью питона.

Denis
16.02.2018
21:56:47
Надо было на С++ писать

Ibh
16.02.2018
21:56:55
это полезно, да
ну в принципе красивее получается чем 100500 вложенных if-ов https://python-3-patterns-idioms-test.readthedocs.io/en/latest/StateMachine.html

хотя подозреваю что и памяти жрёт нормально

Tigran
16.02.2018
21:57:51
А ещё я постил лонгрид по результатам своих мучений на leetcode, но, кажется, его никто не стал читать

Дайте запилю кулстори. Я решаю задачки на leetcode и регулярно возникает потребность в сбалансированных деревьях (например, вот тут: https://leetcode.com/problems/the-skyline-problem/description/ - нужно быстро добавлять, удалять и находить максимум). Плюсовики хитро используют multiset, в питоне же деревьев с балансировкой нет, а реализовывать их ох как не хочется. Но обычно заранее известен перечень элементов, которые в это дерево надо будет засунуть. Поэтому я придумал такой лайфхак: я сортирую весь массив потенциальных элементов дерева и строю по нему сразу сбалансированное дерево (это тривиально): def build_tree(array, l=None, r=None): l = l or 0 r = r or len(array) if r - l <= 0: return None if r - l == 1: return Node(array[l]) m = (l + r) // 2 left = build_tree(array, l, m) right = build_tree(array, m + 1, r) return Node(array[m], left=left, right=right) При этом я помечаю все элементы дерева как выключенные: class Node(object): def __init__(self, value, left=None, right=None): self.value = value self.enabled = False self.has_enabled_successors = False self.left = left self.right = right После этого остаётся вместо добавления элемента в дерево реализовать его включение (элементарная рекурсия), вместо удаления - выключение (тоже), и при других операциях (поиск элемента/поиск максимума/поиск минимума) учитывать включенность/выключенность. Вуаля, идеально сбалансированное дерево с log n операциями при миминуме умственного напряжения. Может, у вас есть более вменяемые способы решать задачи на деревья без реализации балансировки?

Надо было на С++ писать
Да, теперь буду знать, что питон только для быстрого прототипирования.

Tigran
16.02.2018
22:01:47
не всегда...
Не всегда, но в задачках на codeforces, кажется, не стоит его использовать.

У меня было правильное решение с нужной асимптотикой, но после всех моих оптимизаций оно работало в три раза дольше лимита :(

Dmitriy
16.02.2018
22:02:21
Не всегда, но в задачках на codeforces, кажется, не стоит его использовать.
то же самое можно сказать относительно ассемблера и c++

Tigran
16.02.2018
22:02:43
то же самое можно сказать относительно ассемблера и c++
Нет, решение на С++ по лимиту проходило.

Страница 4782 из 9768