Задать вопрос
Ответы пользователя по тегу Python
  • Как отправить информацию не отдельными сообщениями, а одним сообщением в Телеграм боте?

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    Я уже в прошлом вопросе сказал, как это сделать. Ты же не хочешь, чтобы тут всё за тебя сделали?
    Ответ написан
  • Как сортировать и вывести в список места по возрастанию смотря на дистанцию от геопозиции пользователя на python с помощью geopy?

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    Во-первых, у вас тут нет "словаря", из которого можно "отправить все места списком из словаря". У вас есть tuple - это не словарь. Это кортеж. Кортеж в обычном смысле не сортируется, он по сути своей неизменная структура. Хотя, конечно, если его содержимое переложить в структуру, которая может меняться, то переложенное содержимое отсортировать можно. Но, мне думается, так делать не нужно.

    Во-вторых, вы там получаете список дистанций distance. По-идее, индексы значений этого списка соответствуют индексам вашего кортежа, и можно перебирать значения дистанций от максимального к минимальному и по найденному следующему значению получать его индекс и использовать как индекс для получения значения из кортежа.
    Грубо говоря, находим максимальное значение в списке distance, считаем его текущим, находим индекс текущего значения, по нему получаем значение из кортежа. Это у вас уже реализовано. А затем ищем значение в списке distance, которое меньше текущего, но больше всех остальных. Считаем его текущим. Получаем его индекс, получаем по этому индексу значение из кортежа, повторяем цикл поиска следующего значения дистанции меньше текущего, пока существует значение дистанции меньше текущего.
    Ответ написан
    6 комментариев
  • Почему вылезает ошибка когда я двигаюсь?

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    Ошибка вылезает потому, что в строке, которая вызывает ошибку, используются два списка its и its2.
    Причем берется список its, в нем находится индекс некоторого значения new2, а затем в списке its2 ищется значение с этим индексом. Видимо, такого индекса там просто нет, и система сообщает об этом.
    Почему именно в вашем its2 нет такого индекса, а главное - должен ли он там быть? Вот в чем вопрос. У вас там выше по коду идет активная работа с its, в него и добавляются новые значения, и убираются оттуда значения. Соответственно, никакой гарантии, что длина списка its будет равна длине списка its2 или как-то с ним синхронизирована, нет.
    Поэтому в какой-то момент оказывается, что список its длиннее списка its2 и максимальное значение списка its имеет индекс, который больше самого большого индекса списка its2.

    Что с этим делать? Логику программы я не разбирал подробно, но наверно надо постоянно оба списка синхронизировать как-то, тогда по крайней мере длина у них будет одинаковая и ЭТА ошибка не будет возникать.
    Ответ написан
    Комментировать
  • Не могу разобраться с функциями в Python?

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    a = 0
    while a != 3:
        a = int(input())
    Ответ написан
    1 комментарий
  • Как организовать поиск по значениям словарей?

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    может,
    if xr in cv():
            print(x)


    Вот если бы именовали переменные внятно - address, town, ну и т.п. - было бы виднее.
    Ответ написан
  • Не могу понять в чём дело? Решил написать скрипт для разшифровки своего шифра, но ругается на переменную PassMes5. Знающие люди смогут помочь?

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    Там у Вас в районе passmes4 скобка потерялась.
    Но вообще это замечательно. Шедеврально.
    Ответ написан
    Комментировать
  • Почему выдаёт ошибку при парсинге?

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    Как я понимаю, страничка URL должна таки открываться и обычным браузером. У меня не открывается. Может, потому и ошибка?
    Вы попробуйте вместо этого вашего морталкомбата для начала открыть ченьть попроще.
    Ответ написан
  • Как скомпилить два файла в exe?

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    Эээ... два файла с каким содержимым? И что в итоге оно должно делать, полученное ехе?
    Ответ написан
    Комментировать
  • Как сделать чтоб код Python скачивал папку, и распаковывалась в директорию?

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    Код, написанный Вами, запрашивает конкретный файл, а не папку.

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

    Если список Вам не известен, то чтобы скачать содержимое папки, это содержимое надо увидеть. А для этого надо через какой-то конкретный api получить список файлов, потом перебирать список и формировать ссылки по типу:
    “путь к папке на сервере” + “имя очередного файла“

    И запрашивать по-очереди эти файлы, либо через стандартный http запрос, либо через api сервиса (в зависимости от сервиса). Либо опять же сложить ссылки в текстовый файл и скормить список wget-у.

    В общем, надо писать несколько более сложную программу.

    А конечная цель-то какая?
    Ответ написан
    1 комментарий
  • Как получить доступ к значению индекса в Python, сравнивая индекс с числом?

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    описанная Вами задача как раз и решается именно так, как Вы описали:
    Есть некая константа K = 1.
    Есть список spisok, в котором в ячейке номер 1 лежит текст «b».
    spisok = [“a”, “b”, “c”]
    Если вы пишете:
    result = spisok[K]
    то переменная result станет равна значению ячейки с номером, равным K, т.е. spisok[1], т.е. «b».

    Или, может, Вы хотели обратную задачу - по значению ячейки номер ячейки?
    Ответ написан
    Комментировать
  • Как изменить наcтройки Python проекта "ProxyBroker" для парсинга и чека прокси и заставить его работать бесконечно?

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    Полистал github и доки проекта, сходу мне видится вот что:
    Прогу можно использовать несколькими разными способами.
    Как отдельную программу:
    Можно запускать и получать распечатку;
    Можно запускать и получать выгрузку в файл;
    Можно запустить как сервер прокси.
    Как модуль программы на python:
    Импортировать её в программу и оттуда вызывать с нужными параметрами и результат получать то же самое, что и в случае отдельной программы, но с возможностью менять параметры запросов и использовать полученные данные внутри программы.

    Не совсем понял, что значит «запустить скрипт на непрерывную работу». Он должен непрерывно дописывать новые прокси в конец списка? Или он должен регулярно выдавать новую десятку прокси взамен предыдущей? Или он должен сам начать безостановочно работать как один из цепочки прокси, которые он находит по своим каналам?
    Ответ написан
  • Как сделать скриншот окна выбранного процесса?

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    А Вы что-либо гуглили? Пробовали из нагугленного?
    Мне первое, что выпало - pyscreenshot

    Как я понял, программа - обёртка для множества разнообразных способов получения скриншотов. Попробуйте, вдруг поможет.
    Ответ написан
    Комментировать
  • TypeError: 'in ' requires string as left operand, not tuple; как исправить?

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    строка
    elif cmds["ctime"] in exersize:
    берет из словаря
    cmds = {
    "ctime": ('текущее время','сейчас времени', 'который час'),
    "radio": ('включи музыку', 'воспроизведи радио', 'включи радио'),
    "stupid1": ('расскажи анекдот', 'рассмещи меня', 'ты знаешь анекдот')
    }

    значение по ключу "ctime"
    Это значение представляет собой tuple (в круглых скобках - tuple), это не список, это именно tuple - кортеж. Это такая структура, она неизменная в отличие от списка.
    И получается, что строка
    elif cmds["ctime"] in exersize:
    пытается выяснить, присутствует ли кортеж в "exersize".
    Но метод in не умеет искать кортежи где-то, умеет только строки.
    Поэтому, видимо, надо брать кортеж, содержащий несколько отдельных строк, перебирать его элементы и каждый элемент искать в "exersize".
    Ответ написан