• Не могу понять python. Что делать??

    hottabxp
    @hottabxp Куратор тега Python
    Миллиардер. Честно, 100 пистонов!
    Сначала вам нужно знать базовый синтаксис языка. Плюс несколько стандартных библиотек. Потом ищете простую идею для своей программы. Не нужно искать идеи в интернете или тут спрашивать. Напишите несколько программ для себя. Вот мой пример:
    1) Я заметил, что много времени провожу на qna.habr.com(количество переходов можно посмотреть в браузере). Так вот, я захожу на главную страницу сайта, и смотрю новые вопросы по моим тегам. Делаю это почти каждые 10-30 минут. Это здорово отнимает время. Решим проблему с помощью python. Взял 3 библиотеки(requests, notify2 и beautifulsoup) и написал простую программу. Суть ее в том, что она раз в минуту запрашивает главную страницу qna(с cookies), парсит ее и забирает из нее текст вопроса и ссылку. Потом проверяет в цикле, есть ли данная ссылка в файле. Если нет, значит показываем на рабочем столе уведомления с новыми вопросами, а ссылки записываем в файл. И так в цикле. Вроде бы программа простая, но с помощью нее можно поработать на практике с циклами, файлами, сетью, парсингом и т.д.
    Потом мне стало интересно, что такое боты в Телеграм. Почитал документацию и примеры. Вышеуказанною программу переделал под бота. Теперь уведомления приходят мне в телегу.
    2) Следующую программу сделал для rutracker.org Суть ее в следующем - указываем программе ссылку на раздел форума, она парсит сначала главную страницу раздела, вытаскивает номер последней страницы и потом скачивает и парсит с первой по последнюю страницу, вытаскивая заголовок раздачи, размер, сиды/пиры и записывает это все в базу sqlite3. Открываю базу с помощью sqlitebrowser, и могу искать раздачи по тексту, также сортируя по сидам, пирам, размеру и т.д Здесь опять можно потренироваться на практике с циклами, работой с сетью, парсингом, базой данных.

    Когда будете писать код, который вам интересен, вы и сами не заметите как, запомните синтаксис, часто используемые библиотеки и т.д.

    Пример бота для qna.habr.com:
    5ef4ed792bf3b094168141.png
    PS: Это мой ответ на вопрос - Как «продолжить»?
    Ответ написан
  • Как соединить оптоволокно с витой парой?

    @citizen7
    1. Никак не избавиться от розетки. У тебя сейчас роутер умеющий принимать оптический сигнал (световые лучи) переваривать его и выдавать по меди электрический в витую пару. Если ты его убираешь (роутер), то тебе потребуется поставить Медиаконвертер - подробнее в гугл. Этот конвертер включается в розетку! Удлиняй оптику, оптическим патчкордом и адаптером и там где нужно уже ставь этот роутер.

    2. Если сетевая ноута 100 Mbit/s и других устройств в пользовании не предвидится, то бери тариф 100Mbit и не ведись на развод!

    Нормальный провайдер должен был тебе это объяснить и помочь решить проблему, а не хабр)
    Ответ написан
  • Как соединить оптоволокно с витой парой?

    CityCat4
    @CityCat4
    Если я чешу в затылке - не беда!
    Можно ли как-то соединить напрямую оптику и витую пару минуя роутер? Сплитер какой? Я хочу избавиться в прихожей от розеток и проводов электросети.

    Теоретически и технически - запросто. Есть конвертеры интерфейсов оптики в eth, но это именно конвертер, тупая железка, она роутер никак не заменит.
    Практически в Вашем случае - только удлинять оптику, потому что РТК не даст Вам никогда админский пароль от роутера.
    Ответ написан
  • Как соединить оптоволокно с витой парой?

    gbg
    @gbg
    Баянист. Тамада. Услуги.
    Вы создаете бардак на ресурсе, задавая в одном вопросе два. Отвечу на первый.

    Ничто вам не помешает удлинить пришедший от провайдера кабель такой же оптикой. В продаже есть и стыки, и уже оконцованные патч-корды нужной длины. Соединяете и переносите роутер куда нужно.
    Ответ написан
  • Как соединить оптоволокно с витой парой?

    Jump
    @Jump
    Системный администратор со стажем.
    Можно ли как-то соединить напрямую оптику и витую пару минуя роутер??
    Да элементарно.
    Берете медиаконвертер втыкаете в него оптику и витую пару, сам конвертер втыкаете в розетку.
    Собственно все.
    Только зачем это вам? У вас же xPON - как вы подключите витую пару к вашему роутеру?

    Я хочу избавиться в прихожей от розеток и проводов электросети.
    Берите активное оборудование с питанием POE.

    однако сетевая карта ноутбука ограничена 100 мбайтами
    Откуда мегабайты в характеристиках сетевой карты? Может мегабиты?
    Ответ написан
  • Как соединить оптоволокно с витой парой?

    Ziptar
    @Ziptar
    Дилетант широкого профиля
    1. Коротко: нельзя, провайдер не позволит. Не выдаст вам нужной информации для подключения вашего собственного оборудования.
    2. 800 мегабит = 100 мегабайт. Для "типичного домашнего пользователя" 20 мегабит за глаза. Если же активно качаете относительно большие объёмы данных (в пределах, характерных для домашнего пользователя - фильмы, игры) - некогда стандартные 100 мегабит покрывают все потребности.
    Ответ написан
  • Как дальше продвигаться новичку в питоне?

    @n0bleman
    1.Как бы не было банально, но алгоритмы нужны для написания программ. Изучать их можно и нужно, впрочем как и математику.
    2.Посмотреть курс лекций по питону от Тимофея Хирьянова) , хорошо рассказывает. Если хотите в гейм дев - с++ по-лучше будет. Можно на unreal engine 4 практиковаться.
    Ответ написан
  • Как дальше продвигаться новичку в питоне?

    @dmshar
    Я обычно объясню необходимость изучения алгоритмов примерно так.
    Представте, вы учитесь играть на музыкальном инструменте и хотите стать музыкантом.
    Не тем, который "три аккорда - любая мелодия" а настоящим, классным исполнителем неважно чего - хоть Битлз, хоть Бетховена, хоть Моцарта - но именно классным.
    Ежу понятно, как идти к этой цели.
    - Сначала играем гаммы. Долго, упорно. до автоматизма.
    - Потом играем этюды. Да это скучновато, да это точно не Битлз, да мелодия не ахти -но там есть тысячи пассажей и приемов, от простых к сложным. Вот их мы осваиваем, постепенно, повышая свое мастерство. Шаг за шагом, с каждым этюдом или с каждой адаптированной для новичков мелодией приобретаем навыки игры все более и более сложных "комбинаций нот".
    - И только потом учимся играть "настоящую" музыку.
    Попытки перескочить этот естественный путь развития приедет к тому, что "для себя" вы играть может быть и научитесь, но вот слушать вас толпы зрителей - вряд-ли согласятся добровольно.
    Ничего не напоминает?

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

    Этюды -- вот это и есть алгоритмы. На самом деле этот курс надо рассматривать не как последовательое изучения предмета (как математика, физика, химия, история..) а как мастер-класс, в котором вам показывают, как подойти к задаче, с какой стороны ее проанализировать, как разложить на последовательность элементарных кирпичиков и как потом эти кирпичики сложить в стройную конструкцию. По сути вас учат алгоритмически думать, тренировать себя для того, что-бы потом, освоив эти навыки уметь самостоятельно "играть любую мелодию"=составлять любую программу от идеи до реализаци, и составлять ее так, что-бы она была по возможности эффективной, читабельной и масштабируемой.

    Конечно, изложение выше - это некое упрощение, можно сказать краткое объяснение на пальцах для новичков. Но суть от этого не меняется. И алгоритмы - есть обязательное (одно из многих других, кстати!) условие превращения "кодировщика" в "разработчика", даже если этот разработчик никогда сам в жизни не будет писать алгоритм сортировки или обхода графа.
    Вот как-то так.
    Ответ написан
  • Что изучить, прочитать по разработке логики (алгоритма) работы будущей программы?

    @dmshar
    Неудобно цитировать самого себя, но буквально пару дней назад в ответе не немного другой вопрос новичка уже давал свое видение ответа и на этот вопрос, который по сути можно переформулировать так : "Что лежит между знанием синтаксиса языка программирования и умением писать реальные программы"
    Как дальше продвигаться новичку в питоне?
    Ответ написан
  • У меня большие проблемы с изучением технологий. Стоит ли продолжать или лучше не терять время?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Не учите по главам!
    Учите по шагам поставленной задачи!

    Пример (сумма): a+b=c
    1. Ищите как сделать hello world.
    2. Ищите как сделать 3 переменных
    3. Ищите как сделать сложение 2-х из них
    4. Ищите как сделать присваивание
    5. Ищите как сделать вывод результата.
    ----
    Усложняете:
    Ищите как вводить с клавиатуры произвольные значения суммируемых переменных.
    Ответ написан
  • Что изучить, прочитать по разработке логики (алгоритма) работы будущей программы?

    TAbrahamyan
    @TAbrahamyan
    есть ли какие курсы, книги, сайты, обучающие предподготовке написанию кода?

    Стив Макконнелл совершенный код.
    Ответ написан
  • Что изучить, прочитать по разработке логики (алгоритма) работы будущей программы?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Потому что вопросы проектирования архитектуры новичков в программировании не касаются. Сначала надо азбуку освоить и десятки тысяч раз написать "мама мыла раму", а уж потом за поэмы браться, образно говоря.
    Ответ написан
  • Что нужно знать, чтобы решить эти две задачки на Python?

    trapwalker
    @trapwalker Куратор тега Python
    Программист, энтузиаст
    Нужно примерно следующее:
    • Что такое умножение.
    • Что такое таблица.
    • Что такое таблица умножения, зачем она бывает нужна и как устроена.
    • Надо понимать основы алгоритмизации: что такое алгоритм, какие есть базовые алгоритмические структуры (последовательное выполнение, ветвление, цикл) и для чего они нужны.
    • Нужно понимать синтаксис питона хотя бы на базовом начальном уровне. Можно почерпнуть из практически любой книги Марка Лутца про питон. Можно поискать вообще любую книга а-ля питон для чайников - этого будет достаточно для решения вашей задачи.
    • Нужно понимать концепцию цикла, вложенных циклов.
    • Нужно понимать базовую арифметику.


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

    @CosmoV
    Очевидно вам нужно при помощи какой-либо библиотеки распарсить html страничку интересующего ресурса, собрать с неё все ссылки с картинками и... пройдясь по ним циклом просто загрузить их. Для парсинга можете воспользоваться Scrapy или BeautifulSoup. Судя вашему вопросу не уверен занимались вы этим раньше так что можете почитать книгу, ну а как загрузить саму картинку из url при помощи того же requests можете нагуглить за 2 минуты.
    Ответ написан
  • Как извлечь данные из json-файла?

    Совсем дефолтовая задача, использовать json.loads().
    https://docs.python.org/3/library/json.html

    #!/usr/bin/env python
    
    import json
    
    path = 'example.json'
    
    with open(path, 'r') as f:
        data = json.loads(f.read())
        for i in data['employees']['employee']:
            if i['id'] == '3':
                print(i['photo'])
    Ответ написан
  • Сложить значения одинаковых ключей множества словарей объеденённых списком?

    @bbkmzzzz
    Если без подключения модуля, то можно так:
    a = (
          {'Петя': 6, 'Вася': 8, 'Дима': 11, 'Юля': 3},
          {'Петя': 5, 'Вася': 36, 'Дима': 4, 'Юля': 8},
          {'Петя': 54, 'Вася': 21, 'Дима': 22, 'Юля': 39},
          {'Петя': 61, 'Вася': 48, 'Дима': 71, 'Юля': 73}
        )
    
    resultdict = {}                                            #  результирующий словарь
    
    for dictionary in a:                                     # пробегаем по списку словарей
      for key in dictionary:                               # пробегаем по ключам словаря
        try:
          resultdict[key] += dictionary[key]        # складываем значения
        except KeyError:                                    # если ключа еще нет - создаем
          resultdict[key] = dictionary[key]   
    
    print(resultdict)
    Ответ написан
  • Какой алгоритм выборки данных из списка Python?

    trapwalker
    @trapwalker Куратор тега Python
    Программист, энтузиаст
    s_list = [
        {'one': 1, 'two': 2, 'seven': 7, 'fix': 'price', 'number': [5, 4, 2, 3, 5, 4], 'dig': 4},
        {'one': 5, 'two': 4, 'seven': 6, 'fix': 'nix', 'number': [3, 5, 7, 2, 3, 9], 'dig': 5},
        {'one': 8, 'two': 3, 'seven': 9, 'fix': 'pix', 'number': [3, 2, 3, 1, 8, 4], 'dig': 9}
    ]
    for i, item in enumerate(s_list):
        print('\nItem #', i, ':')    
        for key in item:
            print(key, '=', item[key])
    Ответ написан
  • Как сделать чтобы индексация начиналась с 1?

    shabelski89
    @shabelski89
    engineer
    индекс поменять нельзя, а вот вывод можно.
    array = [5, 6, 7, 8]
    [print(i, j) for i, j in enumerate(array, 1)]
    Ответ написан
  • Как перестать отслеживать файл в локальном Git?

    glaphire
    @glaphire
    PHP developer
    Из отслеживания Вы удалили, но надо еще в .gitignore закинуть путь к файлу two.txt, потом git add не будет видеть этот файл, а будет видеть обновленный .gitignore, который нужно закоммитить
    Ответ написан