• SyntaxError:Invalid Syntax?

    SoreMix
    @SoreMix Куратор тега Python
    yellow
    Ну, для начала стоит прочитать какие нибудь материалы по if-else, да и вообще про основы.

    Так сравнения не делаются
    if a and b == "Красный" or "красный":

    Должно быть
    if a == "Красный" or b == "красный":

    Ошибка тут потому что нет нормального разделения между переменными, из-за неправильного сравнений из примера выше, ну и в целом непонятна логика
    if a == "Красный" or "красный" b == "Синий" or "синий" or a == "Синий" or "синий" b == "Красный" or "красный":


    Не сравнивайте текст разного регистра, если человек текст заборчиком напишет, не будете же на каждый случай новое слово писать с другим рЕгИсТрОм. Приводите все данные к одному виду, например в нижний регистр:
    a = input("Введите первый основной цвет, Красный/Синий/Желтый: ").lower()
    b = input("Введите второй основной цвет, Красный/Синий/Желтый: ").lower()

    Тогда и сравнивать не придется разные виды написания, текст будет всегда в нижнем.

    Для подобного смешивания должно быть так:
    if a == "красный" and b == "синий" or a == "синий" and b == "красный":
        print("Ваш вторичный цвет: Фиолетовый.")


    Можно расставить скобки, ни на что не повлияет, просто визуально понятно будет что происходит.
    if (a == "красный" and b == "синий") or (a == "синий" and b == "красный"):


    Можно сказать, что фиолетовый получается, если
    (a = красный И b = синий) ИЛИ ЕСЛИ (a = синий И b = красный)

    и читается в принципе нормально, сразу понятно что проиходит. Если в подобный вид привести изначальный код, то будет
    if a == "Красный" or "красный" b == "Синий" or "синий" or a == "Синий" or "синий" b == "Красный" or "красный":

    a = Красный ИЛИ красный b = Синий ИЛИ синий ИЛИ a = Синий ИЛИ синий b = Красный ИЛИ красный

    Ничего не понятно даже человеку, компьютер так вообще жалко

    Исправляйте, изучайте
    https://pythontutor.ru/lessons/ifelse/
    Ответ написан
    Комментировать
  • Есть ли сайты изучения технического английского?

    approximate_solution
    @approximate_solution
    JS Developer. Angular\React\Vue\Ember
    Есть ли сайты изучения технического английского?

    Есть, они называются, любые сайты с документацией на английском.

    https://javascript.info/ --// Пример
    Ответ написан
    Комментировать
  • Датчик нахождения устройства в воде?

    trapwalker
    @trapwalker
    Программист, энтузиаст
    Резистивный датчик - самое простое. Воизбежании корозии можно использовать два винта из нержавейки, шляпками торчащие наружу и герметично проходящие сквозь корпус. Если разместить их достаточно далеко или вообще диаметрально на корпусе, то смачивание не поможет. Хотя... О какой толщине плёнки воды идёт речь? Можно же и в ведро с водой положить девайс.
    Чтобы коррозии не было, можно, как предложили выше использовать переменный ток или просто меандр от средней точки через делитель напряжения.

    Конечно можно сделать и емкостной датчик. Изнутри на корпусе приклеить две отдельные фольгированные пластины. Если снаружи нет воды, то ёмкость такого конденсатора будет очень маленькой, но при добавлении воды она станет как бы еще двумя пластинами и в совокупности сформируется, как бы, два последовательных конденсатора. Включаете его в резонансный контур и подбираете его параметры так, чтобы резонанс наблюдался при наличии большого количества воды в качестве внешних обкладок.
    По наличию резонанса определяете погружение.
    Можно попробовать микроволновый датчик. Вот такой, например:
    https://aliexpress.ru/item/32880755669.html?spm=a2...
    Наверняка на воду он тоже будет реагировать. Вопрос как подобрать и настроить чувствительность на стабильное срабатывание и игнор стенок ёмкости.

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

    Если прибор будут старатьс яобмануть и для этого у злоумышленников будет много безнаказанных или нерегистрируемых попыток, то ничто вам не поможет. Всё равно обманут. Народ. когда ему это интересно, осваивает ТРИЗ на инстинктивном уровне. К примеру в бак с водой можно подвесить ведёрко на уровне вашего устройства, когда в баке есть вода - всё штатно, когда нет - в ведре останется вода и будет имитировать уровень для вашего прибора.
    В таких враждебных условиях можно бороться так:
    - Собирайте больше факторов контроля, держите их в секрете.
    - Не давайте злоумышленникам четкого и однозначного сигнала о срабатывании защиты, сигнализируйте тайно, либо вносите рандомайзер. Лучше проигнорировать часть атак, но зарепортить остальные, чем реагировать на каждую и дать тем самым возможность злоумышленникам легко и быстро подобрать параметры обхода.
    - Вносите задержку срабатывания сигнализации, лучше рандомизированную, ещё лучше, стобы сигнализация срабатывала не каждый раз. Это усложнит подбор параметров обхода, сделает его долгим и нерентабельным, позволит поймать с поличным злодеев.
    Ответ написан
    2 комментария
  • Датчик нахождения устройства в воде?

    @lonelymyp
    Хочу вылезти из минуса по карме.
    Можно на эффекте теплопередачи определять среду.
    датчик температуры + нагреватель в герметично запаянную трубку или если корпус устройства металл - напрямую к корпусу, второй датчик температуры - эталонный, с другой стороны, где нет нагревателя.
    Нагреватель циклично включается и выключается, с датчика температуры снимаются показания.
    В воздухе и в воде будет разная скорость реакции датчика температуры на включение нагрева.
    Это поможет защититься от эффекта смачивания, мокрый корпус будет греться быстрее чем погружённый в жидкость.
    Ответ написан
    Комментировать
  • Датчик нахождения устройства в воде?

    gbg
    @gbg Куратор тега Электроника
    Любые ответы на любые вопросы
    От коррозии хорошо помогает использование переменного тока. Это применяется в промышленных установках - счетчиках воды, автоклавах.

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

    Также можно использовать акустический метода - заставлять корпус устройства вибрировать и снимать спектр колебаний.

    Так можно узнать не только о погружении девайса в воду, но и размеры емкости.
    Ответ написан
    7 комментариев
  • Что стало с информацией,хранившейся на эВм СССР?

    ky0
    @ky0
    Миллиардер, филантроп, патологический лгун
    В момент распада СССР стала информацией, хранящейся на ЭВМ России и других стран.
    Ответ написан
    Комментировать
  • Как программировать stm32?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    В вашем случае никак
    Ответ написан
    3 комментария
  • Как написать простую 3 д игру используя C++ или другие языки не используя игровой движок?

    freeExec
    @freeExec
    Участник OpenStreetMap
    Ваш вопрос сродни желаниям многих тут последнее время
    Как написать и какой ассемблер выбрать для своей операционной системы?

    Исходников 3D-игр не на Юните/Анрыле полно, начиная от дума и заканчивая квакой, было бы желание что-то делать, а не задаваться вопросами на форумах.
    Ответ написан
    Комментировать
  • Как заменить файл в одном из расширений Chrome, чтобы браузер не ругался: "Это расширение могло быть повреждено"?

    @Sunsvision
    Просто так подменить не получится, но можно решить так:
    1) скопировать папку с расширением в другое место, переименовать ее (например добавить приставку Mod, просто для понимания)
    2) если внутри есть папка "_metadata" - удалить ее
    3) зайти в manifest.json изменить имя расширения (например опять же добавив приставку Mod), изменить значение поля key добавив случайную цифру в значение
    4) заменить-модифицировать нужные файлы
    5) зайти в chrome://extensions/ включить режим разработчика, ткнуть "упаковать расширение" и выбрать папку с измененным расширением. Подтвердить, после чего в папке появится файл расширения crx
    6) перетащить файл crx из папки на вкладку расширений и подтвердить установку
    Ответ написан
    1 комментарий
  • Почему человек узнал все обо мне по фейковой закрытой странице в вк? Как такое возможно?

    Noizefan
    @Noizefan
    Всё гораздо проще, не пудри людям мозги.
    Создать абсолютно пустую страницу в вакууме, конечно же якобы ничего с неё не делать (этот момент ты, естественно, не упомянула) и внезапно непойми кто пишет такие вещи?))

    Никакими "узнать страницу по номеру" или "номер по странице" или "страницу по имени и фамилии" "за 5000 рублей лучший хакфорум lolzteam" тут и не пахнет.
    Вот для чего страницу создала - общаться с подружкой, вступить в группу, в которой всего 15 человек, добавиться ко всем друзьям своим, у которых итак друзей по 5 штук - вот к подружке, группам и друзьям и иди
    Какие в жопу сотовые операторы, друзья? Вы с ума посходили? вирусы флешки))) Может, своими фантазиями девок клеить в реал пойдете уже а?)) диванные племянники Холмса))
    нееет, это точно цру а наша тс это спецагент в бегах. Вот не знает уже что и делать на тостер пришла.

    Ты элементарнейшим образом сама себя слила, и злоумышленнику помогли 33% удачи, 33% социальной инженерии и 33% твоей собственной глупости. Подруга тебя подставила или издевается, схожесть интересов, GetContact, всё в тысячи раз проще, стоит лишь немного пораскинуть мозгой.

    Если всё настолько серьезно и страшно, как ты описываешь - тебя ничто не может в таком случае остановить в походе в отделение полиции и написании заявления.
    Ответ написан
    10 комментариев
  • Отладка небольших ассемблерных кусков кода?

    @4144
    чтобы использовать привычный синтаксис ассембрерного кода, используйте внутри asm блока команду ".intel_syntax;"
    asm {
        ".intel_syntax;"
        "mov eax, 10;"
        "mov ebx, 20;"
        "add eax, ebx;"
        "mov edx, eax;"
        ".att_syntax;"
      };

    Для использования переменных, используйте подстановки из ответа jcmvbkbc или макросы препроцессора.
    Ответ написан
    Комментировать
  • Отладка небольших ассемблерных кусков кода?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    только проблема в том, что в gcc формат ассемблерных вставок другой

    Разберись, потом будешь использовать его с удовольствием:
    int main() {
      int a = 1;
      int b = 3;
      int c;
    
      asm (
        "mov %[a], %[c]\n\t"
        "add %[b], %[c]\n\t"
        : [c] "=mr" (c)
        : [a] "mr" (a), [b] "mr" (b));
    
      printf("a + b = %x + %x = %x\n", a, b, c);
    }
    Ответ написан
    1 комментарий
  • Как реализовать данный метод?

    Комментировать
  • Зачем же все таки нужен return?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Java
    Седой и строгий
    Оператор return, как и следует из его названия, возвращает из метода результат или управление.

    P.S. Поразительно, что вы задаёте вопросы по Java с 2018-го года и до сих пор не освоили самые основы.
    Ответ написан
    Комментировать
  • Нужно ли ООП в python?

    trapwalker
    @trapwalker
    Программист, энтузиаст
    Во всех случаях, где это позволит сделать код более читаемым и лаконичным.
    ООП ужно людям, чтобы легче было писать более сложные программы. ООП при правильном использовании позволяет изолировать сложность в отдельных классах так, чтобы эта сложность не накапливалась единым запутанным клубком в одном месте.
    Почитайте про принципы SOLID.
    Ответ написан
    4 комментария
  • Не работает атрибут стандартного модуля random Python?

    hottabxp
    @hottabxp Куратор тега Python
    Сначала мы жили бедно, а потом нас обокрали..
    У вас в строке random.choiсe([a, b, c]) кириллическая c (то есть, набранная в русской раскладке)
    Ответ написан
    2 комментария
  • Ботнет на Python?

    @66demon666
    Сетевой админ, АТС-админ
    1.Изучить, что такое ботнет сеть
    2. Изучить Python
    ....
    Profit

    (про свою сеть неубедительно)
    Ответ написан
    Комментировать
  • Нужно сделать программу покороче. Как?

    0xD34F
    @0xD34F
    нужно в 24 строки уложиться

    Замените тело функции invert на

    return ''.join('0' if n == '1' else '1' for n in d)

    Получится ровно 24.

    Тело второй функции тоже сократим до одной строки:

    return '1' if n == 1 else ((s := dracon(n - 1)) + '1' + invert(s)[::-1])

    Сами функции теперь ничего не мешает переписать в виде лямбд.

    Наконец, заметим, что две строки перед циклом, который перебирает dr, идентичны одной из веток условного оператора внутри цикла - так что удалим их, а цикл пусть сделает ещё одну итерацию, для этого в начале dr должно оказаться что-то, отличное от '1'.

    Достаточно коротко получилось?
    invert = lambda d: ''.join('0' if n == '1' else '1' for n in d)
    dracon = lambda n: '1' if n == 1 else ((s := dracon(n - 1)) + '1' + invert(s)[::-1])
    
    dr = '0' + dracon(int(input()))
    print(dr)
    
    import turtle as t
    tt = t.Turtle()
    
    for n in dr:
      if n == '1':
        tt.right(90)
        tt.forward(4)
      else:
        tt.left(90)
        tt.forward(4)
    
    input()

    Тут конечно надо отметить, что на данный момент далеко не везде используется python версии 3.8+, так что приведённый код может у вас и не взлететь, по причине наличия в нём assignment expression (оператор :=).
    Ответ написан
    3 комментария
  • Стоит ли ещё учить Джанго?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Django
    Седой и строгий
    Открываешь hh.ru, ищешь вакансии по Python, смотришь какой фреймворк требуется для большинства из них, делаешь вывод, пишешь авторам ответов трёхгодичной давности, что они дурачьё.
    Ответ написан
    Комментировать