Задать вопрос
  • Что не так с этим кодом?

    @mr_secret
    Возможная причина №1: в коде не учитывается то, что с каждой скоростью он движется в течение разного времени.
    Возможное решение №1:
    from statistics import mean
    
    
    N, Vmax = map(int, input().split())
    
    to = []
    Vo = []
    
    
    def inp():
        for i in range(N):
            v, t = map(int, input().split())
            Vo.extend((v,)*t)
    
    
    inp()
    
    print(int(
        mean(Vo) < Vmax
    ))

    Возможная причина №2: в коде не учитывается то, что с каждой скоростью он движется по участкам разной длины.
    Возможное решение №2:
    from statistics import mean
    
    
    N, Vmax = map(int, input().split())
    
    Vo = []
    So = []
    
    
    def inp():
        for i in range(N):
            v, t = map(int, input().split())
            S = v*t
            So.append(S)
            Vo.extend((v,) * S)
    
    
    inp()
    
    print(int(
        mean(Vo) < Vmax
    ))


    P.S. Два представленных выше решения - разные, то есть дают разный ответ.
    Ответ написан
    Комментировать
  • Из-за чего при попытке запуска скрипта выводит "Python"?

    @mr_secret
    Во-первых: не всегда:
    678fffd201bba226380911.jpeg
    Во-вторых:
    без демонстрации Вашего кода в ситуации не разобраться.
    Ответ написан
    Комментировать
  • Не работает переменная def()?

    @mr_secret
    Коротки ответ: добавьте в конце Вашего кода строку
    main()
    678ffc976f5b0931096278.jpeg
    Пояснение:
    def - не переменна, а ключевое слово, используемое для создания функций.
    У вас в коде были создана функции main, но чтобы функции работали их надо вызывать, как Вы сделали это с функциями create_l_system и draw_l_system.
    Ответ написан
    Комментировать
  • Почему не могу получить второй график?

    @mr_secret
    Дело в строчке
    plt.ylim(0, 5)  # Максимальное давление в миллионах Па

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

    678ffa334c218120848834.jpeg

    Другой способ в этом убедиться, не удалять данную строку, а пролистать нижний график вверх.

    Таким образом, у Вас неверно высчитываются значения координат точек для нижнего графика. Перепроверьте их.
    Ответ написан
    Комментировать
  • Копирование и удаление текста Python?

    @mr_secret
    Для очистки буфера обмена можно использовать следующий код:
    from ctypes import windll
    if windll.user32.OpenClipboard(None):
        windll.user32.EmptyClipboard()
        windll.user32.CloseClipboard()

    Источник
    Ответ написан
    Комментировать
  • Как сделать кастомный заголовок окна в Tkinter?

    @mr_secret
    Основываясь на коде, представленном здесь и здесь, мне удалось составить работающий пример.
    Для данного примера реализованы:
    1. Отключение дефолтного заголовка окна
    2. Отображение иконки программы в панели задач
    3. Возможность открытия окна через панель задач
    4. Возможность двигать окно
    5. Возможность изменять размер окна

    Недостатки данного примера:
    1. длящееся примерно долю секунды отображение вспомогательного окна (хотя если формально - главного) при разворачивании окна через панель задач
    2. Отсутствие изображения содержимого окна при наведении мыши на иконку на панели задач
    3. Окно, если не свернуто, всегда отображается строго поверх других окон, что отличает его от обычных окон


    678f95bee1ec1622947023.png

    код:
    from tkinter import *
    from tkinter import font
    
    
    class NewRoot(Tk):
        def __init__(self):
            Tk.__init__(self)
    
    
    class MyMain(Toplevel):
        def __init__(self, master):
            Toplevel.__init__(self, master)
            self.overrideredirect(True)
            self.attributes('-topmost', 1)
            self.bind('<ButtonRelease-3>', self.on_close)  #right-click to get out
            # region geometry method
            self.set_geometry_on_center()
            # endregion
    
    
            # region Чтобы можно было двигать окно
            self.main_frm = Frame(master=self, bg='#232428')
            self.main_frm.pack(fill=BOTH, expand=True)
            self.main_frm.bind("<B1-Motion>", self.move)
            # endregion
            custom_font = font.Font(family='Impact', size=16)
            # region Кнопка закрытия окна
            Button(self.main_frm, text='x', bg='#3F3F3F', fg='white', activebackground='#C70039',
                   activeforeground='white', bd=0, highlightthickness=0, command=root.destroy, font=custom_font)\
                .pack(side='right', anchor=NE, padx=5)
            # endregion
            # region Заголовок
            header_label = Label(master=self.main_frm, text='Заголовок', font=custom_font, fg='#FFFFFF', bg='#3F3F3F')
            header_label.pack(pady=5)
            # endregion
            # region Чтобы можно было изменять размер
            self.resize_lbl = Label(master=self.main_frm, bg='#3F3F3F', fg='white', activebackground='#C70039',
                                    activeforeground='white', bd=0, highlightthickness=0,  text='resize', font=custom_font)
            self.resize_lbl.pack(anchor=E)
            self.resize_lbl.bind("<B1-Motion>", self.resize)
            # endregion
            # region Чтобы можно было свернуть
            self.minimize_lbl = Button(master=self.main_frm, bg='#3F3F3F', fg='white', activebackground='#C70039',
                                     activeforeground='white', bd=0, highlightthickness=0,  text='Свернуть', font=custom_font,
                                     command=self.minimize)
            self.minimize_lbl.pack(anchor=E)
            self.minimize_lbl.bind("<B1-Motion>", self.resize)
            # endregion
    
        def on_close(self, event) -> None:
            self.master.destroy()
    
        def set_geometry_on_center(self) -> None:  # Placing the window in the center of the screen
            rx = self.winfo_screenwidth()
            ry = self.winfo_screenheight()
            x = int((rx / 2) - (500 / 2))
            y = int((ry / 2) - (500 / 2))
            self.geometry(f"500x500+{x}+{y}")
    
        def resize(self, event) -> None:
            x = self.winfo_pointerx() - self.winfo_rootx()
            y = self.winfo_pointery() - self.winfo_rooty()
            if x > 0:
                fx = self.winfo_rootx()
                fy = self.winfo_rooty() + y
                ht = self.winfo_height() - y
                if ht > 0:
                    self.geometry(f"{x}x{ht}+{fx}+{fy}")
    
        def move(self, event) -> None:
            fx = root.winfo_pointerx() - 250
            fy = root.winfo_pointery() - 10
            self.geometry(f"{self.winfo_width()}x{self.winfo_height()}+{fx}+{fy}")
    
        def minimize(self):  # свернуть
            self.state('withdrawn')
    
    
    def func(event):
        app.state('normal')
        root.iconify()
    
    
    if __name__ == '__main__':
    
        root = NewRoot()
        root.lower()
        root.iconify()
    
        app = MyMain(root)
        root.bind("<Map>", func)
    
        app.mainloop()
    Ответ написан