Задать вопрос
  • Как при клике на область определить координаты XY?

    iggor-markin
    @iggor-markin
    Python Developer
    Пример из документации не подходит?

    fig, ax = plt.subplots()
    ax.plot(np.random.rand(10))
    
    def onclick(event):
        print('%s click: button=%d, x=%d, y=%d, xdata=%f, ydata=%f' %
              ('double' if  event.dblclick else' single', event.button,
               event.x, event.y, event.xdata, event.ydata))
    
    cid = fig.canvas.mpl_connect('button_press_event', onclick)
    Ответ написан
    Комментировать
  • Python / Generator как это решить?

    AlexNest
    @AlexNest Куратор тега Python
    Работаю с Python/Django
    Для начала - выучить азы pyhon.
    def generator():
        pass
    gen = generator()

    Смысл объявления пустой функции?

    gen = (s(k)/4 for k in range(10)):
    Во-первых, конструкция вида [литерал]([аргументы]) всегда будут восприниматься как вызов функции с названием [литерал] аргументами [аргументы]. А объявленой функции с именем s у вас нет.
    Далее непонятно, зачем у вас двоеточие и print(next(gen)) с отступом.
    И к тому-же, next(gen) не будет работать, т.к. generator() ничего не возвращает.
    Если пытались изменить код, то зачем? Судя по шаблону, вам нужно написать генератор в соответствующей функции generator() и уже по нему итерироваться.
    def generator():
        pass
    
    
    gen = generator()
    for _ in range(10):
        print(next(gen))
    Ответ написан
    Комментировать
  • Почему тут ошибка?

    AlexNest
    @AlexNest Куратор тега Python
    Работаю с Python/Django
    1.Почему-бы, перед тем как брать откуда-то код (ну или писать свой, не суть) не почитать пару уроков (или пару глав любого учебника) по языку?
    2.В ошибке, которую вы не показали, кстати, четко написано, почему не работает (и даже сказано в каком конкретно месте ошибка):
    IndentationError: expected an indented block after 'while' statement on line 11

    Перевод, на всякий случай (вдруг вы английский не знаете, а абсолютно все переводчики вас забанили).
    IndentationError: ожидался блок с отступом после оператора while в строке 11

    Возможно я ожидаю слишком многого, но тут вроде-бы даже без знания языка можно понять, что нужно сделать (добавить отступ)
    Ответ написан
    Комментировать
  • Как решить проблему indentation error?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
    Правильно расставить отступы.
    Ответ написан
    Комментировать
  • Нормально ли бросать (throw) внутри async функции?

    SeaInside
    @SeaInside
    16 лет пилю все эти штуки
    Где-то читал, что нехорошо кидаться ошибками изнутри async функций
    ... надо только возвращать rejected Promise.

    В этом `где-то` вас обманули, так как любое возвращаемое из `async` функции значение (да, включая throw) уже обёрнуто в `Promise`.

    const foo = async () => { throw new Error('Smth went wrong'); };
    const bar = async () => Promise.reject(new Error('Smth went wrong'));

    Работают абсолютно одинаково
    Ответ написан
    3 комментария
  • Прокси в питоне?

    @Kvason
    Веб-разработчик
    Устанавливаешь requests, создаешь текстовый файл, пишешь туда все что тебе надо и дальше в коде открываешь этот файл, перебираешь построчно и используешь их как в ответе выше
    Ответ написан
    Комментировать
  • Как скидывать файлы с компьютера в какое-нибудь облачное хранилище через Python?

    Зачем пайтон? для любого облачного хранилища существуют клиенты для любой ос, который синхронизирует файлы. Достаточно создать аккаунт, установить программу и залогиниться. А потом просто поместить файл в нужную папку.
    если все же хочется с помощью питона, то вот это подходящий вариант. https://developers.google.com/drive/api
    или яндекс диск https://yandex.ru/dev/disk/rest/
    Ответ написан
    2 комментария
  • Как синхронизировать файлы на сайте с компьюетром на Python?

    @AVKor
    Никакой сайт не нужен. Любая ВПСка, самая дешёвая, плюс rsync. Пайтон не нужен.
    Ответ написан
    Комментировать
  • Как скачать видео с YouTube?

    @rPman
    почему youtube замаскирован звездочками? это стало ругательством?

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

    точно знаю были врапперы для c# (гугл выдает старый код, может заработает) если надо именно библиотеку
    Ответ написан
    Комментировать
  • Как решить задачу по математике с помощью python?

    wataru
    @wataru Куратор тега Математика
    Разработчик на С++, экс-олимпиадник.
    Это не задача на программирование, а задача на математику. Решение - одна формула.

    Сначала решите уравнение, при какой величине вклада X доход от бумаги и от банковского вклада будет одинаков?

    1.1X+2000 = 1.12X

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

    От питона вам надо уметь выполнять действие 4 раза:
    for i in range(0, 4):

    Сравнивать 2 значения и делать в зависимости от этого разные действия.
    if a < b:
      foo
    else:
      bar


    Ну, вряд ли вы не знаете, еще надо уметь присваивать переменные и выполнять арифметику - умножение и сложение.
    Ответ написан
    Комментировать
  • Как собрать 32-битный exe файл?

    @rPman
    есть настоящий компилятор python приложений в exe файл (точнее он сначала генерирует c++ файлы а их уже можно компилировать в бинарник нужной архитектуры) - nuitka

    в зависимости от использования библиотек возможно получится и даже увеличится (значительно) скорость работы приложения
    Ответ написан
    Комментировать
  • С чего начинать освоение SDR (Software Defined Radio)?

    fox_12
    @fox_12
    Расставляю биты, управляю заряженными частицами
    Можно начать с DVB-T тюнеров на основе rtl2832 коих на том же Aliexpress навалом по вполне умеренным ценам.
    Ответ написан
    3 комментария
  • Почему выдает ошибку?

    lastuniverse
    @lastuniverse
    Всегда вокруг да около IT тем
    прочтите внимательно код ошибки и свой код

    Ошибка: (node:25288) UnhandledPromiseRejectionWarning: TypeError:  db.get is not a function

    переводится как: .... db.get не является функцией

    Смотрим дальше:
    let db = require('sqlite') // для примера использую простой в использовании пакет БД "quick.db"

    странно, но пишите про quick.db а подключаете sqlite
    но возможно я не прав и так и должно быть (никогда не использовал ни то ни другое)?

    Смотрю использование sqlite и вижу что инициализация модуля и создание коннекта к ДБ делаются совсем иначе.

    Смотрю quick.db и вижу в примерах так нужные вам db.get() и db.set()

    Вопрос решен!!!

    Ну и напоследок. Либо вы очень устали и стали невнимательны, либо вам нужно срочно приучить себя вчитываться в текст ошибок, и пытаться понять о чем идет речь, а так же подтягивать знание JS, чтобы такие вот ошибки TypeError: db.get is not a function моментально направляли ваши мысли в нужное русло

    const db = require('quick.db');
    Ответ написан
    2 комментария
  • Как спарсить название и цену игры в стиме?

    @rPman
    Зачем столько гемороя если есть официальное api?
    api.steampowered.com/ISteamApps/GetAppList/v0001 - список всех приложений
    store.steampowered.com/api/appdetails?appids=43864... - информация о приложении appids, код страны из которой запрос - cc
    цены в центах [App Id] > data > price_overview
    (взял это отсюда)

    По уму документация тут, ллидербоард тут
    Ответ написан
    Комментировать
  • В чём ошибка определения переменной экземпляра?

    shurshur
    @shurshur
    Сисадмин, просто сисадмин...
    Рекомендую напечатать id объектов, сразу станет видно проблему:

    for i in range(11):
      print (f"`{i} {id(g[i])}")
      for j in range(7):
        print (f"  `{j} {id(g[i][j])}")
        #deb.write(str(i)+"-"+str(j)+" "+str(g[i][j].x)+" "+str(g[i][j].y)+"\r\n")


    кусочек вывода
    `0 140084785493632
      `0 140084785519824
      `1 140084785520544
      `2 140084785519872
      `3 140084785520016
      `4 140084785520448
      `5 140084785520592
      `6 140084785520112
    `1 140084785493632
      `0 140084785519824
      `1 140084785520544
      `2 140084785519872
      `3 140084785520016
      `4 140084785520448
      `5 140084785520592
      `6 140084785520112


    Все элементы списка длины 11 по первому индексу ссылаются на один и тот же массив длины 7

    Ошибка тут в том, что выражение

    some_list * 11

    конструирует список из 11 ссылок на один и тот же массив. Который на последней итерации цикла получает x=10 во всех элементах.

    Решить можно, например, так:

    g = []
    
    for i in range(11):
      g.append([])
      for j in range(7):
        g[i].append(Point(i, j))


    В python все объекты передаются по ссылке, и это надо учитывать, а при необходимости копировать их явно.
    Ответ написан
    Комментировать
  • Как разделить слова в сообщении telebot?

    AlexNest
    @AlexNest Куратор тега Python
    Работаю с Python/Django
    Если пишете на telebot / pyTelegramBotAPI (вроде-бы) - используйте register_next_step_handler
    Если aiogram - машину состояний и принимайте по части ФИО за раз.
    Ответ написан
    Комментировать
  • Разъясните задачку по Python?

    SoreMix
    @SoreMix Куратор тега Python
    yellow
    2 дня всей группой пытаетесь подставить две переменные в уравнение?
    Берете первой число из набора А, потом первое число X, решаете уравнение. Второе число Х. Третье число Х. Когда закончились - берем следующее число А. Таблица - результат функции при подстановке переменных.
    Ответ написан
    1 комментарий
  • Почему игра на pygame тормозит?

    @Span4ev Автор вопроса
    Разобрадся. Для тех, кто столкнётся с той же ситуацией, вот пояснение:

    Медленный здесь только я, потому что функцию создания пришельцев
    engine.create_aliens_army(settings, screen, ship, aliens) я запускал в основном цикле While, из-за чего все остальные циклы выполнялись каждую наносекунду. Я перенёс вызов создания армии из основного цикла и всё стало хорошо.
    Следите за тем, где вы вызываете методы.
    Ответ написан
    3 комментария
  • Как достать строку из листа?

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    Во-первых, не советую использовать слово list как имя переменной - это имя используется как имя встроенного типа «список».
    Во-вторых, список это и есть в некотором роде массив, к элементам которого можно обращаться по индексу (именно так, как вы показали - по номеру элемента в скобках). Нет смысла перемещать его содержимое в другой массив, если только это не условие задачи или обусловлено какой-то очень специфической задачей (для использования математических и статистических пакетов).. Задачи тут не решают.
    В-третьих, очень рекомендую вначале изучить структуры вообще и начала языка Python в частности, а потом браться за вот это вот всё. Сэкономит вам время.
    Ответ написан
    Комментировать
  • Как выводить только цифры и буквы в print?

    hottabxp
    @hottabxp Куратор тега Python
    Сначала мы жили бедно, а потом нас обокрали..
    Как выводить только цифры и буквы в print?

    Почитать про списки, кортежи, словари, json..., а также почитать про методы работы с ними.
    Ответ написан
    Комментировать