Задать вопрос
  • Почему сломалась подсветка синтаксиса после переустановки windows в VSCode?

    @GNation Автор вопроса
    Итог: Community Material удалённый из расширений - красивее, чем оригинал.
    Ответ написан
    Комментировать
  • Я учу питон, и в данный момент я пытаюсь сделать калькулятор который проверяет данные которые вводит пользователь?

    @GNation
    На данный момент я на телефоне, так что все в подробностях описать не могу.
    И так, сначала лучше всего напишите функции и переназовите их, чтобы не путаться:
    def get_num1():
        while True:
            num_1 = input('Введите первое целое положительное число: ')
            if num_1.isdigit():
                return int(num_1)
            else:
                print('Вы ввели не число!')
    
    def get_num2():
        while True:
            num_2 = input('Введите второе целое положительное число: ')
            if num_2.isdigit():
                return int(num_2)
            else:
                print('Вы ввели не число!')
    Там где return подставляем int(...) дабы возвращать число, а не строку(string). Также в python после двоеточий лучше переходите на след строку, даже если это всего лишь return, так принято видете ли :)

    После чего мы задаем переменным полученные цифрам:
    num1 = get_num1()
    num2 = get_num2()

    Далее заключаете в функцию только получение "эффекта", тоже самое, что и с get_num1 или get_num2(спасибо dim5x, что немного сократил длительность моей боли):
    def get_effect():
        while True:
            effect = input("Напишите что вы хотите сделать, отнять, прибавить, умножить,разделить, возвести в степень, целое деление, остаток от деления: ")
            if effect in ("+", "-", "*", "/", "**", "//", "%"):
                return effect
            else:
                print('Нету такого действия!')

    Потом опять же задаем переменной полученный "эффект":
    effect = get_effect()

    Далее конечно решение:
    if effect == "+" :
        print(num_1 + num_2)
    # + - сложение
    elif effect == "-":
        print(num_1 - num_2)
    # - — вычитание
    elif effect == "*":
        print(num_1 * num_2)
    # * — умножение
    elif effect == "/":
        print(num_1 / num_2)
    # / — деление
    elif effect == "**":
        print(num_1 ** num_2)
    # ** — возведение в степень
    elif effect == "//":
        print(num_1 // num_2)
    # // — целочисленное деление
    elif effect == "%":
        print(num_1 % num_2)
    # % — остаток от деления


    Советую внимательно относится даже к мелочам. Так же рекомендую почитать этот документ о написании чистого кода. Возможно я не придерживался к нему в этом ответе, но я все же на телефоне))
    Ответ написан
    2 комментария
  • Как запущенное через Process.Start приложение вывести на передний план (Win10)?

    @GNation
    Всё, что я смог найти:
    Process process = Process.Start("");
    
    // Ждем немного, чтобы процесс успел запуститься и инициализировать свое окно
    Thread.Sleep(500);
    
    if (process != null)
    {
        // Ждем появления главного окна процесса
        process.WaitForInputIdle();
    
        // Получаем хэндл окна
        ntPtr hWnd = process.MainWindowHandle;
    
        if (hWnd != IntPtr.Zero)
        {
            // Если окно свернуто, восстанавливаем его
            ShowWindow(hWnd, SW_RESTORE);
    
            // Выводим окно на передний план
            SetForegroundWindow(hWnd);
        }
    }
    Ответ написан