Контакты
Местоположение
Россия, Москва и Московская обл., Москва

Достижения

Все достижения (3)

Наибольший вклад в теги

Все теги (27)

Лучшие ответы пользователя

Все ответы (59)
  • Что не так с sql запросом?

    @dim5x
    ЗИ, ИБ. Помогли? Поблагодарите. Отметьте ответом.
    Использование f-строк для вставки данных в SQL запросы может привести к уязвимостям, связанным с SQL-инъекциями. Вместо использования f-строк, рекомендуется применять параметризованные запросы или подготовленные выражения, что позволяет безопасно передавать данные в запросы.
    Ответ написан
    Комментировать
  • Как связать код Python и GUI на wxPython?

    @dim5x
    ЗИ, ИБ. Помогли? Поблагодарите. Отметьте ответом.
    6717cf333e689297739155.png
    Код
    import wx
    
    class MyFrame(wx.Frame):
        def __init__(self, *args, **kwds):
            kwds["style"] = kwds.get("style", 0) | wx.DEFAULT_FRAME_STYLE
            wx.Frame.__init__(self, *args, **kwds)
            self.SetSize((250, 250))
            self.SetTitle("frame")
    
            sizer_1 = wx.WrapSizer(wx.VERTICAL)
    
            fields = [
                ("Ширина (м)", "a"),
                ("Длина (м)", "b"),
                ("Высота (м)", "h"),
                ("Окно ширина (м)", "o1"),
                ("Окно высота (м)", "o2"),
                ("Дверь ширина (м)", "d1"),
                ("Дверь высота (м)", "d2"),
            ]
    
            # Create grid sizers and controls dynamically
            for label_text, attr in fields:
                grid_sizer = wx.GridSizer(1, 2, 0, 0)
                sizer_1.Add(grid_sizer, 1, wx.EXPAND, 0)
    
                label = wx.StaticText(self, wx.ID_ANY, label_text)
                grid_sizer.Add(label, 0, wx.ALL, 1)
    
                text_ctrl = wx.TextCtrl(self, wx.ID_ANY, "")
                setattr(self, attr, text_ctrl)  # Store the text control in the instance
                grid_sizer.Add(text_ctrl, 0, 0, 0)
    
            # Create a horizontal sizer for the result and button
            h_sizer = wx.BoxSizer(wx.HORIZONTAL)
    
            # Result text control
            self.itogo = wx.TextCtrl(self, wx.ID_ANY, "")
            self.itogo.SetBackgroundColour((171, 171, 171))
            h_sizer.Add(self.itogo, 1, wx.EXPAND | wx.ALL, 5)
    
            # Calculate button
            self.button_1 = wx.Button(self, wx.ID_ANY, "Посчитать", size=(110, 21))
            h_sizer.Add(self.button_1, 0, wx.ALL, 5)
            self.button_1.Bind(wx.EVT_BUTTON, self.onclick)
    
            # Add the horizontal sizer to the main sizer
            sizer_1.Add(h_sizer, 0, wx.EXPAND, 0)
    
            self.SetSizer(sizer_1)
            self.Layout()
    
        def onclick(self, event):
            a = float(self.a.GetValue())
            b = float(self.b.GetValue())
            h = float(self.h.GetValue())
            o1 = float(self.o1.GetValue())
            o2 = float(self.o2.GetValue())
            d1 = float(self.d1.GetValue())
            d2 = float(self.d2.GetValue())
    
            result = round(a * 2 * h + b * 2 * h - o1 * o2 - d1 * d2, 2)
            self.itogo.SetValue(str(result))
    
    class MyApp(wx.App):
        def OnInit(self):
            self.frame = MyFrame(None, wx.ID_ANY, "")
            self.SetTopWindow(self.frame)
            self.frame.Show()
            return True
    
    
    if __name__ == "__main__":
        app = MyApp(0)
        app.MainLoop()
    Ответ написан
    1 комментарий
  • Где на самом деле лежит и как называется файл hosts в windows?

    @dim5x
    ЗИ, ИБ. Помогли? Поблагодарите. Отметьте ответом.
    Битность программ не совпадает с виндой. 32-битный Notepad++ не видит папку etc, 64-битный - видит.

    Ваша фраза: "новые (относительно) ищет", видимо, говорит о том же.

    В 64-битной версии Windows папка C:\Windows\System32 содержит 64-битные файлы и библиотеки. Однако, если вы запускаете 32-битное приложение, такое как 32-битная версия Notepad++, Windows перенаправляет запросы к этой папке в C:\Windows\SysWOW64, где находятся 32-битные версии библиотек.
    Это означает, что 32-битное приложение не сможет увидеть или получить доступ к файлам в C:\Windows\System32, включая папку etc, если оно пытается открыть ее через стандартный интерфейс.
    Ответ написан
    3 комментария
  • Почему не работает код?

    @dim5x
    ЗИ, ИБ. Помогли? Поблагодарите. Отметьте ответом.
    Потому что len_pass_numbers.lower() (и прочие) возвращает вам строку 'да', а вы сравниваете с 'Да'.
    Соответственно ваш "алфавит" - chars - пустой.

    Ну и, вероятно, удобнее пользоваться встроенными коллекциями, чем вручную набивать:
    from string import digits, ascii_lowercase, ascii_uppercase, punctuation
    Ответ написан
    3 комментария
  • Какая ошибка в коде?

    @dim5x
    ЗИ, ИБ. Помогли? Поблагодарите. Отметьте ответом.
    1. Составные конструкции имеет смысл писать так:
    case f of
        1 : begin 
                R1:=(a*sqrt(3)/4);
                writeln('R1=',' ',R1);
                { что-то ещё... }
            end;

    2. Есть большие сомнение что в R1 после этого: a*sqrt(3)/4) будет integer. Подумайте над этим.

    3.
    program case14;
    var f : integer;
    var a, R1, R2, S: Real; 
    begin
        writeln ('Введите цифру от 1 до 4 включительно!');
        Readln(f);
        Writeln('Введите значение стороны равностороннего треугольника');
        Readln(a);
    case f of
        1:  
            begin
                R1:=(a*sqrt(3)/4);
                writeln('R1=',' ',R1);
                R2:=R1*2;
                writeln('R2=',' ',R2);
                S:=sqr(a)*sqrt(3)/4;
                writeln('S=',' ',S);
            end;
    end;
    end.
    Ответ написан
    3 комментария