Задать вопрос
  • Не могу понять как работает код (tuple, dictionary, lambda)?

    [a<b] неявно приводится к типу int. True - 1, False - 0.
    В первом случае всё просто - берётся либо 0, либо 1 элемент.
    Во втором случае [a<b] возвращает либо True, либо False, и из словаря возвращается значение по ключу.
    В третьем есть кортеж из 2 лямбда функций. 1-ая возвращает b, 2-ая - a, и нужная функция выбирается как в первом случае
    Ответ написан
    1 комментарий
  • Есть ли простая математика расчета попадания в зону?

    @Mercury13
    Программист на «си с крестами» и не только
    Вам уже подсказали общие способы. Теперь специализированные.
    Точка гарантированно в охватывающем прямоугольнике. Мы получаем уравнения прямых и смотрим, с какой стороны. Проще всего это делать через косое произведение векторов — AX×AB <> 0, или
    (x − xA)(yB − yA) − (xB − xA)(y − yA) <> 0
    Ответ написан
    Комментировать
  • Как прикрепить декораторы в цикле?

    @javedimka
    Хочу сока
    Можно просто почитать как работают декораторы и что есть синтаксический сахар
    async def handler(event):
            word = event.message.to_dict()['message']
            if (word[:18] == "Код подтверждения:"):
                print(word)
    
    for client in clients:
        handler = client.on(events.NewMessage)(handler)
    Ответ написан
    Комментировать
  • Как красиво отсортировать List?

    @galaxy
    List comprehensions

    >>> [n for n in items if n%2==0]
    [2, 4, 6, 8, 10]
    >>> [n for n in items if n%2]
    [1, 3, 5, 7, 9]


    Если надо еще и сортировать, то sorted(items2)
    Ответ написан
    1 комментарий
  • Как организовать поиск по значениям словарей?

    kshnkvn
    @kshnkvn
    yay ✌️ t.me/kshnkvn
    Оно?
    cities= {
        'г. Москва': [
            'Москва', 'Moscow', 'Moscow > Moskva', 'г. Москва', 'г.Москва', 'Moskva (Moscow)'
        ],
        'г. Калиниград': [
            'Калининград', 'г.Калининград', 'Kaliningrad (Konigsberg)'
        ]
    }
    
    addresses_folder = [
        ('Moscow > Moskva, ул. xxx, д. xxx' , 'Moscow > Moskva, ул. xxx, д. xxx'), 
        ('Kaliningrad (Konigsberg), ' , 'Kaliningrad (Konigsberg), ')
    ]
    
    
    for address in addresses_folder:
        address_city = address[0].split(',')[0]
        for city, values in cities.items():
            if address_city in values:
                print(city)

    Outp:
    г. Москва
    г. Калиниград
    Ответ написан
    4 комментария
  • Не могу понять в чём дело? Решил написать скрипт для разшифровки своего шифра, но ругается на переменную PassMes5. Знающие люди смогут помочь?

    hottabxp
    @hottabxp Куратор тега Python
    Сначала мы жили бедно, а потом нас обокрали..
    В строке:
    passMes4 = sub("38", "в", passMes3
    отсутствует скобка в конце.

    Потом будет еще одна ошибка:
    NameError: name 'sub' is not defined
    Замените в коде:
    import re
    на:
    from re import sub
    Ответ написан
    Комментировать
  • Для чего тут используется super, если класс наследуется только от object?

    trapwalker
    @trapwalker Куратор тега Python
    Программист, энтузиаст
    Ну строго говоря особой нужды нет. Такое делают, например, если в будущем собираются сменить базовый класс.
    Но если у вас __init__ вообще пустой и кроме супера ничего нет, то совсем бесполезно.
    В третьем питончике, кстати, уже вот так можно:
    class Container():
        def __init__(self):
            super().__init__()
    Ответ написан
    4 комментария
  • Как разрабатывать еще быстрее?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Создать свой конструктор для построения проектов под любые требования.

    Любой функционал - пишем однократно! и используем потом во всех последующих проектах как подключаемый модуль.

    Делаю так: разбиваю ТЗ на функц.блоки, рисую схему движ.данных, смотрю: что уже готово, а что - кодить.
    Компоную блоки так, чтобы захватить бОльшую часть нужного и возможного функционала в новые блоки, не потеряв в производительности.
    Снова проверяю структуру (и все нюансы) и только потом - кодирую.
    Ответ написан
    5 комментариев
  • Как сопротивление может влиять на напряжение?

    trapwalker
    @trapwalker
    Программист, энтузиаст
    А мне нравится другая метафора.
    Представьте, что у вас в школе есть длинный коридор (это проводник).
    Коридор полон слоняющихся в нём туда-сюда школьников (это электроны). В среднем в коридоре ток равен нулю.
    Вдруг (прозвенел звонок) и в коридор с одного конца стали ломиться новые школьники, движимые желанием идти нахрен подальще от класса (минус "батарейки"). Напор школьников - это потенциал. Он разный в начале и в конце коридора.
    Школьники давят с одного конца, а второй конц коридора открыт на улицу (плюс).

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

    Это был закон Ома для участка цепи.
    На примере школьников проще объяснять, чем на примере гидравлики. Так можно рассказать и про полупроводники, транзисторы, правило Кирхгофа... да что угодно.
    Ответ написан
    16 комментариев
  • Сложный и интересный проект для новичка?

    trapwalker
    @trapwalker
    Программист, энтузиаст
    ## Анонимный чат с темами для обсуждения деликатных офисных проблем
    Иногда хочется обсудить что-то с коллегами в офисе, но не хочется смущать их или показывать лишнюю инициативу.
    Например кто-то не смывает в туалете или слишком громко орёт и сам того не замечает. Может быть кто-то слишком интенсивно пользуется парфюмом.
    - Анонимность
    - Постоянная ссылка на чат, тему или дерево чатов
    - ссылки в виде QR-кодов
    - голосовалка
    - закрепленные посты

    ## Сайт checklist
    Веб-сервис и мобильное приложение для краудсорсинга чеклистов для всего: зарегать ИП, получить визу, что делать при ДТП, как влезть в ипотеку, как вылезть из неё, чем заняться с ребенком на выходных (N-ле

    - Коллекция чек-листов снабженных тегами, доступная для краудсорсинга.
    - Краудфандинг составления и поддержки нового листа.
    - Фильтрация чек-листов.
    - Фильтрация пунктов.
    - Тегирование пунктов.
    - Графовые алгоритм обхода чек-листа.
    - Мастер обхода чек-листа.
    - Отчет по чек-листу.
    - Вложенные чеклисты, гиперссылки между разными листами.
    - Параметризация.
    - Экспертная система, логические связи (расширенный режим).

    Примеры:
    - Что делать при ДТП
    - Открыть ИП
    - Осмотр авто при покупке (подветки для разных конкретных моделей)
    - Первая помощь при...
    - Диагностика инсульта
    - Зомби-акопалипсис: как приготовиться
    - Атомный взрыв неподалёку - что делать
    - Планетарная катастрофа - как выживать
    - Поход выходного дня - что взять
    - Подготовка авто к поездке
    - Путешествие: Алжир (виза, прививки, документы, отели, транспорт)
    - Как влезть в ипотеку
    - Как вылезть из ипотеки
    - Как быстро заработать (во все тяжкие)
    - Покупка квартиры (на что обратить внимание)
    - Самостоятельное строительство дома (общий план)
    - Чем заняться с ребёнком N-лет
    - Как отметить новый год
    - Что интересного в районе <пос. Майский>
    - Номера телефонов и документы в автомобиле

    ## Эротический краудфандинг
    Интернет ресурс, где девушки могут делать крауд-фандинговые кампании

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

    ## Простой открытый сервис для обмена сообщениями
    - HTTP API, Web-sockets
    - p2p rtsp
    - опциональное end-to-end шифрование
    - хранение истории на клиентах
    - возможность использования нескольких серверов
    - возможность использования альтруистичных клиентов для проксирования трафика p2p
    - поиск узлов на основе блокчейн технологий и DHT таблиц

    ## Онлайн-журнал путешествия
    - публикация трека в реальном времени
    - комментарии путешественника и фолловеров
    - стримы (аудио, видео, фото)
    - отложенная загрузка
    - журнал(расходы, чек-поинты, расписания, цены, погода)
    - FAQ
    - голосовалка

    ## Поэтический онлайн редактор
    - выбор стопа, стиля и жанра
    - шаблон с плейсхолдерами, разбивающий текст на слоги
    - облако рифм
    - подражающий автогенератор
    - многосегментный словарный банк (дифференциально-слоистая древовидная структура, своя специфика в верхнем слое, поэлементное ранжирование сегментов)
    - тезаурус
    - словарь сочаетаемости
    - N-граммы поэзии по авторам и стилям
    - корпус поэзии
    Ответ написан
    13 комментариев
  • Поясните что значит в sorted(values, key=lambda x: (abs(x-one), x)) последнее значение x(после запятой)?

    trapwalker
    @trapwalker Куратор тега Python
    Программист, энтузиаст
    Ваша функция возвращает не один элемент, а все, отсортированные в порядке удаления от заданного.

    key=lambda x: (abs(x-one), x)
    это функция, по значениям которой сортируются элементы массива.
    Значение этой функции - кортеж из двух элементов: первый - это модуль разности, а второй это текущий элемент списка.
    Кортежи можно сравнивать на > и <. При этом они сравниваются поэлементно слева направо.
    Смысл добавления x в том, что расстояние от -1 до 0 и до -2 одинаковое и сортировка не различала эти два элемента между собой. Когда вы стали сортировать по ключевому кортежу, то при равенстве расстояния порядок определяется значением самого элемента. Выбирается сперва тот, что меньше (в вашем случае -2).
    Ответ написан
    6 комментариев
  • Как сделать, чтобы бот в беседе VK отвечал разными сообщениями?

    JobJobBoy
    @JobJobBoy Автор вопроса
    Нашёл решение:

    Создать список разными фразами/словами:

    spisok = ['Клубничный коктейль', 'Кот-космонавт'] (И так далее).


    Использовать библиотеку 'RANDOM':

    vk.method("messages.send", {"peer_id": id, "message": random.choice(spisok), "random_id": random.randint(1, 2147483647)})
    Ответ написан
    Комментировать
  • Как перенести строку в python?

    total4c
    @total4c
    Говнокодер
    I'm a wizard

    def message_cb(bot, event):
        bot.send_text(chat_id=event.from_chat,
                      text="Hello with buttons.",
                      inline_keyboard_markup="{}".format(json.dumps([
                          [{"text": "Action 1", "callbackData": "call_back_id_1", "style": "attention"},
                          {"text": "Action 2", "callbackData": "call_back_id_2", "style": "attention"}],
                          [{"text": "Action 3", "callbackData": "call_back_id_2", "style": "primary"}
                           {"text": "Action 4", "callbackData", "call_back_id_2", "style": "primary"}]
                      ])))
    Ответ написан
    1 комментарий
  • В git закоммитил в master - как исправить?

    bingo347
    @bingo347
    Crazy on performance...
    # переименуем master в experiment
    git checkout master
    git branch -m experiment
    # удалим удаленный master
    git push --delete origin master
    # зальем текущую ветку на удаленный репо:
    git push -u origin experiment
    # переключимся на комит с которого пойдет мастер по его хэшу:
    git checkout 3624ce5
    # ответвимся от сюда в новую ветку с именем master
    git checkout -b master
    # и залем ее на удаленный репо
    git push -u origin master
    Ответ написан
    4 комментария
  • Как сделать простой скрипт Скачать файлы по списку Python?

    trapwalker
    @trapwalker Куратор тега Python
    Программист, энтузиаст
    Зачем вам питон? Воспользуйтесь стандартной утилитой wget. Она это умеет.
    wget -i link1.txt
    Ответ написан
    2 комментария