• Будет ли работать такая схема интернет кабеля с разветвителем?

    pindschik
    @pindschik
    ФЫВА ОЛДЖ
    1) Схема для прямого соединения кабелей на 100 мегабит действительно существует. Она ужасна. Она работает. Одна древняя как...
    spoiler
    65683fcd6f8ce746984700.jpeg

    2) Вы не указали способ подключения к провайдеру. Если там например оптика? А протокол какой? DHCP, IPoE, PPPoE? Соответственно общего ответа нет
    3) Провайдеры обычно привязывают MAC клиента к его договору, соответственно с ПК у вас просто не будет подключаться, или будет требовать перепривязки, каждый раз. И с роутера тоже.
    4) В теории вы можете на ПК и на внешнем порту роутера настроить одинаковые MAC, но тогда нарушится нормальная работа. Вам придется для включения роутера - вытыкать провод из ПК (или выключать сетевую плату).
    5) Ваш ПК - соответственно, когда работает роутер - будет без интернета.

    P.S.
    И соответственно ответ на вопрос "будет ли работать и какие разветвители лучше использовать?" - такой:
    Никакие лучше не использовать и отказаться от затеи. У вас мало проблем и много свободного времени? Придумайте нормальную схему, которая не будет требовать таких ухищрений. Ваш вариант ДОРОЖЕ по реализации (купить свич дешевле, чем паять эту схему), и много более проблемный.
    Вы пишете "роутер для тех или иных причин иногда нужно выключать" - а так ли это? Может его можно перенести туда, где его не надо будет отключать? А может и вовсе не роутер надо отключать, а только WiFi?
    Ответ написан
    3 комментария
  • Как сделать проверку символов с возвратом на строку кода?

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

    Например, сделать функцию проверки, скажем check_answer, которая принимает строку ответа и возвращает логическое значение (если всё хорошо, то True, иначе False).
    Затем сделать конструкцию
    while not check_answer(otvet):
        otvet = input()

    и пока check_answer не вернёт True, этот цикл будет повторяться.

    Однако, в вашем коде есть еще много существенных недостатков, которые сильно затруднят вам жизнь.
    • Во-первых, это нумерованные переменные. Вместо них удобно использовать кортеж, список или словарь. Такие структуры можно перебирать в цикле (итерировать) и каждый следующий элемент обрабатывать одним и тем же набором функций.
    • Кроме того, код хорошо бы разделить на функции, например так: если код делает «то, это и вот это», то у вас должны появиться функции «делай то», «делай это», «делай вот это» и еще функция «выполнить программу», изнутри которой находятся вызовы остальных функций и внутри которой каждая функция получает и возвращает в следующие функции обрабатываемые данные и результаты обработки.

    Такую программу проще отлаживать по частям, можно многократно использовать одну функцию, давая ей на вход разные данные, всё будет более стройно и красиво.

    С другой стороны,
    python позволяет всё плотненько скомкать чуть не до пары длиннющих нечитаемых строк, но так делать вам пока не надо.
    Ответ написан
    3 комментария