Python для начинающих. Урок 20 | Замыкания и декораторы

Поделиться
HTML-код
  • Опубликовано: 1 фев 2025

Комментарии • 42

  • @plugar_inf
    @plugar_inf  10 месяцев назад +14

    Домашнее задание:
    Написать функцию, которая возвращает факториал введенного пользователем числа. Написать декоратор, который замеряет время выполнения данной функции.
    Не использовать модуль math. Для замера времени вам понадобится функция time() из модуля time.

    • @Vlashstroy
      @Vlashstroy 10 месяцев назад +2

      Использовал time.pref_counter , так как при любом числе выходило 0.0 секунд) Видимо округляло
      import time
      def factorial(n):
      s = 1
      for i in range(1, n + 1):
      s *= i
      return s
      def timer(func):
      def wrapper(n):
      t1 = time.perf_counter()
      v = func(n)
      t2 = time.perf_counter()
      print(f'Время выполнения функции: {t2 - t1} секунд')
      return v
      return wrapper
      f = timer(factorial)
      num = int(input('Введите число: '))
      print(f'Факториал числа {num} = {f(num)}')

    • @Notnot136
      @Notnot136 10 месяцев назад +1

      import time
      def decorator(func):
      def wrapper(a):
      begin = time.time()
      c = func(a)
      end = time.time()
      print(end - begin)
      return c
      return wrapper
      @decorator
      def f(a):
      fact = 1
      for i in range(2, a + 1):
      fact *= i
      return fact
      print(f(int(input())))

    • @Mrklaimarli
      @Mrklaimarli 9 месяцев назад

      у тебя на видео есть задании и на следущего видео есть ответ

    • @Mrklaimarli
      @Mrklaimarli 9 месяцев назад

      @@Notnot136 4 получили

    • @Mrklaimarli
      @Mrklaimarli 9 месяцев назад

      @@Vlashstroy тебя 3 зато что использовал чатжпити

  • @distorshn-m9fc
    @distorshn-m9fc 10 месяцев назад +6

    Сразу настроение появляется, когда Иван Викторович выпускает новые видео!)

  • @Pixel_bit
    @Pixel_bit 10 месяцев назад +3

    Иван Викторович, педагог с большой буквы! Спасибо тебе за твои видео, за отношение к своей аудитории, благодаря твоим видеороликам тоже решился завести свой канал для подготовки ребят к ОГЭ. Не бросай это нужное дело. Успехов и побольше благодарных учеников!)))) 👍

  • @victorgeirgiev5137
    @victorgeirgiev5137 Месяц назад

    Молодец, я посмотрел видео три раза и наконец до меня дошло!!!Спасибо!!

  • @MioGesa-md2ul
    @MioGesa-md2ul 10 месяцев назад +1

    Спасибо дорогой наш Иван Викторович, хотелось бы почаще ваших новых видео про Пайтон ❤

  • @Qwark-u4s
    @Qwark-u4s 10 месяцев назад +1

    Как всегда коротко и ясно😊

  • @BrightIdeasChannel-
    @BrightIdeasChannel- 10 месяцев назад +2

    Спасибо за очередное видео

  • @user-je2ok3ut8o
    @user-je2ok3ut8o 8 месяцев назад

    Отличное объяснение базиса. Преподаватель четко и неоднократно акцентирует внимание на нужных моментах

  • @ДаниилИвасько
    @ДаниилИвасько 10 месяцев назад

    Лучший учитель информатики ❤

  • @k1ntsug1i
    @k1ntsug1i 9 месяцев назад

    Тема сложная, но благодаря вам всё понятно, спасибо большое! Скоро буду решать задачи😼

  • @XMdefender
    @XMdefender 10 месяцев назад

    Братец, благодарю за урок! Очень бы хотелось видеть уроки про модуль Telebot ❤

  • @nedraiversha211
    @nedraiversha211 10 месяцев назад +1

    21 минута балдежа

  • @aleksdizhe
    @aleksdizhe 10 месяцев назад

    Урааааааа🎉🎉🎉🎉🎉🎉🎉у Вас, кстати, спина белая))))

    • @plugar_inf
      @plugar_inf  10 месяцев назад +1

      а у вас коленки сзади грязные)

    • @aleksdizhe
      @aleksdizhe 10 месяцев назад

      @@plugar_inf хм.....а вот это может быть правда, ремонт это такое дело)))))

  • @akinorevvvvv
    @akinorevvvvv 10 месяцев назад

    вы гений

  • @VasiliyKolotskiy
    @VasiliyKolotskiy 7 месяцев назад

    Иван, спасибо за курс. Ничего не понимаю, пытаюсь изучить Пайтон, чтобы где-то работать. Ничего не получается, простейшие задачки ,которые ребята из комментариев "щелкают как орешки" не даются даже после пары часов обдумывания, в итоге ГПТ все домашки ваши решает, а я только переписываю в пайчарм, какой-то бред получается, а не обучение..

    • @ЕвгенАкелла
      @ЕвгенАкелла 5 месяцев назад

      ну не так уж и щелкают. Халтурят не соблюдая точное ТЗ, используют непройденное (видно тоже ГПТ), код не проверяют ошибки лепят))) Я "щелкаю" садясь за урок часов в 7 вечера, и вымученный проверенный итог в коммент даю за полночь))) На этой темой сижу уже 5й час, ловлю исключения и перелопачиваю код по всякому, курю инфо в гугле, но результат как ни кручу - "0.0" по времени выполнения функции...

    • @ЕвгенАкелла
      @ЕвгенАкелла 5 месяцев назад

      проверил все имеющиеся ответы в пайчарме, не вчитываясь.. только один выдал корректный результат. Вот вам и "щелкают))))
      буду пересматривать ролик в 8й раз, разбираться

    • @TheENGI99
      @TheENGI99 4 месяца назад

      ​@@ЕвгенАкеллавидимо программа слишком быстро выполняется и не хватает точности, есть time.perf_counter() с ней вроде выводит

    • @СаняЗахар-к4к
      @СаняЗахар-к4к 4 месяца назад

      @@ЕвгенАкеллакак прогресс?

  • @Mrklaimarli
    @Mrklaimarli 9 месяцев назад

    но лучшиййййййййййййййййййййййй

  • @Putu_pererenan
    @Putu_pererenan 7 месяцев назад

    4:49 - что-то слабенькое доказательство, учитывая что списки мутабельны

  • @bgavh6858
    @bgavh6858 9 месяцев назад

    Спасибо. Но очень сложная тема. 46-ти летний паскалист

  • @ArticlesGD
    @ArticlesGD Месяц назад +1

    ничего не понятно...........................................................