#22. Оператор цикла for. Функция range() | Python для начинающих

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

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

  • @thebaingames5636
    @thebaingames5636 Год назад +14

    Спасибо автору за объяснение цикла for и функции range(). Я по-прежнему стараюсь быть лучше каждый день, чтобы стать счастливым.

  • @ИванКруткевич
    @ИванКруткевич 3 года назад +12

    Очень ждал урок по функции range! Спасибо

  • @СветланаВладимировна-ж4и
    @СветланаВладимировна-ж4и 5 месяцев назад +2

    Очень подробно и доступно 👍👍

  • @Losteon99
    @Losteon99 3 года назад +17

    Благодарю за очередной хороший урок!

  • @RomanZverev-yc5qc
    @RomanZverev-yc5qc 3 года назад +15

    Спасибо большое за проделанную работу

  • @wowpusha
    @wowpusha Год назад +6

    Спасибо вам огромное за ваши труды. Вы преподаватель от бога, благодаря вам поняла что не все потеряно)) Даже кипящего чайника можно обучить.

  • @vlad-qx5fu
    @vlad-qx5fu Год назад +6

    Огромное вам спасибо, за ваш труд!))👆🙏🦾

  • @elenalevasheva3830
    @elenalevasheva3830 Год назад +1

    Спасибо за урок, прям как глоток горного воздуха

  • @СергейКондулуков-з9ч

    Очень хорошая лекция. Сергею спасибо 🙂

  • @ГульшатА-ц2с
    @ГульшатА-ц2с 2 года назад +5

    Спасибо, супер подача материала ❤️

  • @MoroCold
    @MoroCold 2 года назад +2

    Спасибо тебе, ты Человек!!!!

  • @empty9228
    @empty9228 2 года назад +3

    Отличный урок, спасибо!

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

    Спасибо. Все стало понятным.

  • @ИннаЛиксакова-о4н
    @ИннаЛиксакова-о4н 3 года назад +3

    Очень понятно, спасибо. Лайк и подписка

  • @jamjam3337
    @jamjam3337 Год назад +2

    спасибо!👏👍

  • @suiunbekiskenderov7444
    @suiunbekiskenderov7444 3 года назад +3

    Спасибо!

  • @anonas712
    @anonas712 2 года назад +1

    THE BEST of THE BEST

  • @viktorgladkov2933
    @viktorgladkov2933 Год назад +2

    Подскажите, пожалуйста, на 12:00 минуте, зачем в третьей строке писать S=0 ? какой в этом смысл? Заранее, спасибо

    • @selfedu_rus
      @selfedu_rus  Год назад

      Во-первых, создаем переменную S. Во-вторых, инициализируем ее нулем, чтобы там точно 0 был.

  • @АсельКайсагалиева

    за 12 минут объяснил понятнее, чем училка в шк за пол года

  • @андрейхоменко-и5я
    @андрейхоменко-и5я 3 года назад +1

    Чуть позже посмотрю... А так like как обычно

  • @rozavaganova1363
    @rozavaganova1363 3 года назад +3

    len() вычисляется каждый раз или это фиксированное значение не требующее обработки? Другими словами, если мне нужно несколько раз использовать len() то лучше сохранить это значение в переменной или на скорость вычисления это не влияет?

    • @selfedu_rus
      @selfedu_rus  3 года назад +1

      Конечно лучше сохранять - влияет.

    • @olegkomlev
      @olegkomlev 2 года назад

      len() вычисляется каждый раз, но если обернуть len в range в цикле for, то len будет вычислено 1 раз перед первой итерацией. range получит текущее значение len, создаст фиксированный диапазон, и цикл будет выполнен по этому диапазону, даже если len потом поменяется.
      d=[10,20,30]
      for i in range(len(d)):
      d.append(i)
      print (d)
      Получим [10, 20, 30, 0, 1, 2] , т.е. цикл for выполнился 3 раза для range(3), потому что в момент выполнения len(d) было равно 3.
      Сравните с программой
      d=[10,20,30]
      for i in d:
      d.append(i)
      print(d)
      Эта программа зациклится, выдавая всё более возрастающий список d:
      [10, 20, 30, 10]
      [10, 20, 30, 10, 20]
      [10, 20, 30, 10, 20, 30]
      [10, 20, 30, 10, 20, 30, 10]
      [10, 20, 30, 10, 20, 30, 10, 20]
      ...
      Попробуйте также изменить строку for i in d[:]:

    • @АристархРоссолимо
      @АристархРоссолимо 11 месяцев назад

      ​@@olegkomlev в последнем примере урока он же должен сначала 1 делить на 2 и вывести результат в консоль, потом 1 делить на 3 и так до тысячи, выводя постоянно результаты в консоль пока не переберет всë
      Почему консоль выдала значение примерно 6.89?

    • @olegkomlev
      @olegkomlev 11 месяцев назад

      @@АристархРоссолимо Нет, он не должен выводить результаты в консоль после каждого деления. Обратите внимание на отступ. Оператор "S+= 1/i" имеет справа отступ в 4 пробела, а оператор print(S) отступа не имеет.Это значит, что тело цикла состоит только из "S+= 1/i", именно этот оператор и повторяется 999 раз. А только затем, после окончания цикла, один раз выполняется оператор print(S), который выводит получившийся результат S.

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

      @@АристархРоссолимо Потому что принт без отступа, т.е. он выводит только результат после работы всех итераций цикла. Если поставить отступ в 4 пробела у принта, то он будет выводить каждую итерацию цикла, т.к. станет частью цикла.

  • @ibrahimoglu
    @ibrahimoglu 3 года назад +2

    👍

  • @Доедаюзакурседом-х6в

    а как сделать шаг дробным к примеру for i in range( -2,2,0.5), но этот шаг питон выдаёт за ошибку

    • @selfedu_rus
      @selfedu_rus  Год назад

      нельзя, range() только с целыми числами

    • @Доедаюзакурседом-х6в
      @Доедаюзакурседом-х6в Год назад

      @@selfedu_rus а если от меня задача требует числа от -2 до 2 выводить с шагом 0.5?

  • @СарматПересветов
    @СарматПересветов 2 месяца назад

    Like!

  • @evgeniyacteck6779
    @evgeniyacteck6779 2 года назад

    Сергей, здравствуйте! Изучаю сейчас циклы, решаю задачи. Вот никак не могу одну решить! Уже дня 3 бьюсь и не пойму где ошибка? Если поможете, наведёте на мысль, буду очень признателен. Условие- На вход программе подается два натуральных числа a и b (a < b). Напишите программу, которая находит натуральное число из отрезка [a;b] с максимальной суммой делителей. Я написал такой вот код:
    a = int(input())
    b = int(input())
    summer = 0
    num = 0
    max_sum = 0
    max_num = 0
    for i in range(a, b + 1):
    for j in range(1, i):
    if i % j == 0:
    num = i
    summer += j
    if max_sum

  • @seriklepessov3546
    @seriklepessov3546 Год назад +2

    А почему мы поменяли х на i? Почему нельзя было продолжить с иксом

    • @selfedu_rus
      @selfedu_rus  Год назад +1

      Обычно, x - это значение элемента, а i - индекс.

  • @1усфа
    @1усфа Год назад +1

    если range() это не список, тогда что это? Почему этот range не относится к общеизвестным типам данных?

    • @Soloo333
      @Soloo333 Год назад +1

      это функция, которая работает с разными типами данных через индексы.

  • @ДарханКаригулов-к4щ

    Можно ли чтобы цикл наоборот сработал типо от 10 до 1 тоесть 10 9 8 7 6 5 4 3 2 1

    • @zed_008
      @zed_008 Год назад +1

      Можно, если указать отрицательный шаг. range(10, 0, -1)

  • @user-tx6nx8pj5x
    @user-tx6nx8pj5x Год назад +1

    Что такое итерация?

    • @gluyarik
      @gluyarik 8 месяцев назад

      один проход цикла