90% не знают о этой возможности цикла while.

Sdílet
Vložit
  • čas přidán 27. 08. 2024
  • Все привыкли использовать while, как он есть. Но многие пропускают дополнительную возможность, о которой многие даже и не слышали.
    #python #while #tricks

Komentáře • 738

  • @notmortar6450
    @notmortar6450 Před 10 měsíci +1068

    Я уже был готов к: "БЛЯЯЯЯ, ВРЕМЯ УЧИТЬ ПАЙТОН"

    • @PythonGuru_
      @PythonGuru_  Před 10 měsíci +36

      и уже ушло или все ж осталось? )

    • @artemsnegovsky
      @artemsnegovsky Před 9 měsíci +10

      Вот только хотел написать, ахахсхаха

    • @user-yf6pd2oy7n
      @user-yf6pd2oy7n Před 9 měsíci +5

      А где наша любимая фраза?)

    • @prosto_thelovek
      @prosto_thelovek Před 8 měsíci

      А я думал ,что это котлинг.

    • @the1stsnowflake
      @the1stsnowflake Před 7 měsíci

      😂

  • @homevak
    @homevak Před 10 měsíci +538

    бимбимбамбам в Пайтоне определённо решает

  • @_h1x
    @_h1x Před rokem +857

    Охренеть, ни в одном курсе не слышал об этом. Спасибо большое!

    • @PythonGuru_
      @PythonGuru_  Před rokem +12

      👌

    • @rexby
      @rexby Před rokem +62

      Это база. Читайте туториал официальный хотя бы, а не курсы питон за 2 часа!

    • @user-sx5fp6gl3z
      @user-sx5fp6gl3z Před rokem +35

      Что ж это за курсы такие, самой банальщины где не пишут?

    • @roazanas
      @roazanas Před rokem +14

      На степике в самом популярном курсе это упоминается

    • @channel_tag
      @channel_tag Před rokem

      Курсы для беспомощных лохов. А ровные программисты читают книги.

  • @flahaerty
    @flahaerty Před 9 měsíci +152

    Чёт сначала подумала что сейчас прозвучит "БЛЯЯЯЯЯЯТЬ", даже удивилась, но потом обратила внимание на название канала...

    • @PythonGuru_
      @PythonGuru_  Před 9 měsíci +3

      переведите, плиз

    • @Zarzorp_________________pudge
      @Zarzorp_________________pudge Před 8 měsíci

      ПАЙТОН БЛ@ТЬ и БИМБИМБАМБАМ

    • @iizqm
      @iizqm Před 8 měsíci +24

      ​@@PythonGuru_, не обращайте внимания, в последнее время стал популярным ютубер, который в шортсах объясняет пайтон с матами громким голосом

    • @Logicatube
      @Logicatube Před 8 měsíci

      ​@@iizqmты не понимаешь просто

    • @iizqm
      @iizqm Před 8 měsíci +2

      @@Logicatube я понимаю, просто объясняю автору, которого эти постоянно донимают в комментариях

  • @StealthsTube
    @StealthsTube Před rokem +450

    Читайте официальную документацию к выбранному языку программирования и не будет никогда пробелов в знаниях.
    Автору благодарность за то, что прочитал доку раньше других и оповестил всех.

    • @PythonGuru_
      @PythonGuru_  Před rokem +9

      )

    • @SabFo_
      @SabFo_ Před rokem +17

      Раньше всех, серьёзно? Это популярная конструкция в питоне

    • @marat_sharafutdinov
      @marat_sharafutdinov Před rokem +22

      ​@@SabFo_никому не говорите про try-except-finally)

    • @channel_tag
      @channel_tag Před rokem

      ​@@marat_sharafutdinovи про elif

    • @metasy_
      @metasy_ Před rokem +5

      ​​​@@marat_sharafutdinovtry except else finally)))

  • @user-ur1ps1ld9n
    @user-ur1ps1ld9n Před 11 měsíci +112

    В Python 3.13 разрабы хотят от нее хотят избавиться уже, тк не интуитивная штука (даже если знаешь), в реальных задачах middle/senior такое не используют. Поэтому знайте, если встретится, но сами не используйте)))

    • @PythonGuru_
      @PythonGuru_  Před 11 měsíci +9

      жаль, если уберут. А насчет неинтуитивности, никто не мешает написать коммент…

    • @gpankov
      @gpankov Před 11 měsíci +6

      Использую довольно часто. Удобно

    • @Maxim9575
      @Maxim9575 Před 11 měsíci

      @@PythonGuru_ забавно как такие конструкции конвертируются на другие языки при компиляции. Например на тот же js.

    • @PythonGuru_
      @PythonGuru_  Před 11 měsíci +5

      @@Maxim9575 Вопрос ковертируются ли. Конверторов много, но ни один не гарантирует 100% поддержки всех конструкций. тут не скажу, не проверял

    • @privateuser5291
      @privateuser5291 Před 10 měsíci

      Интересно, как эта конструкция с else в AST выглядит

  • @exooloon
    @exooloon Před 10 měsíci +46

    ... а где тот мужик который начинает каждый урок "бим бим бам бум!!!!"

  • @newaccauntaccaunt-ug5gn
    @newaccauntaccaunt-ug5gn Před 11 měsíci +16

    Побольше бы таких маленьких но содержательных задачек. Спасибо. 👍👍

    • @PythonGuru_
      @PythonGuru_  Před 11 měsíci +1

      👍 создаем понемногу

    • @JayDi85
      @JayDi85 Před 10 měsíci

      Не надо. Как можно чаще избегайте подобных нюансов и хитростей. Код будет проще и легче поддерживать.

  • @Gregory-vc2vs
    @Gregory-vc2vs Před 9 měsíci +130

    Создать флаг завершения цикла ❌
    Быть вторым человеком в мире, который использует конструкцию while else ✅✅✅

    • @PythonGuru_
      @PythonGuru_  Před 9 měsíci

      ну не прям вторым

    • @Senerro
      @Senerro Před 9 měsíci +8

      ​@@PythonGuru_, окей, вторым "вторым" - наверняка есть ещё один такой второй

    • @VladimirNerby
      @VladimirNerby Před 7 měsíci

      @@PythonGuru_ код надо писать максимально просто, а while else вносит усложнение, поэтому это никому не нужно

    • @friendlycat3484
      @friendlycat3484 Před 7 měsíci

      Актуально только любителям душить питона, крестовые такое не одобряют.

    • @linterrupt
      @linterrupt Před 7 měsíci

      В чем усложнение? Усложнение для тех, кто впервые видит такую конструкцию?​@@VladimirNerby

  • @BulChe
    @BulChe Před 8 měsíci +2

    The most calmest programmist in Russia communit- ☠️ Oh shit wrong channel

  • @user-sp6de6oh3w
    @user-sp6de6oh3w Před 10 měsíci +19

    for тоже вроде бы поддерживает такую конструкцию. Поколение пайтон точно содержит об этом упоминание. Гвидо говорил про эту конструкцию что не стал бы ее вводить, создавай он язык по новой

  • @Андрей.Е.А.Е
    @Андрей.Е.А.Е Před měsícem

    Все легко и понятно. Спасибо

  • @ciblocker8173
    @ciblocker8173 Před 19 dny

    Это странно... Нет слов. Просто взять. И очевидно известное(в других языках), назвать чудом. Это талант.

  • @линьковруслан
    @линьковруслан Před měsícem +1

    Если кто не знал, такая конструкция работает и с циклом for. Если цикл завершится, потому что закончились элементы, то будет выполняться блок кода после else. А если цикл завершится оператором break, то блок кода после else выполняться не будет.

  • @user-op8hl8yd3t
    @user-op8hl8yd3t Před 10 měsíci +2

    Век живи, век учись! Огромное спасибо!

  • @FRIENDSON_Fine
    @FRIENDSON_Fine Před rokem +10

    Очень подробно и очень конкретно, большое спасибо

  • @olkrpv
    @olkrpv Před 10 měsíci +16

    Это есть не только в while, но и в for ))

    • @PythonGuru_
      @PythonGuru_  Před 10 měsíci +2

      да

    • @giunone1
      @giunone1 Před 10 měsíci +2

      В исключениях тоже есть

  • @daniilsan2445
    @daniilsan2445 Před 9 měsíci +2

    Вот он видос, который мне был нужен в 3 часа ночи 😅

  • @Dmitrij_D
    @Dmitrij_D Před 27 dny

    Вот это поворот))
    Проще было сказать, что while else, аналогия с if else.
    А вообще надо людям книги читать, а не курсы проходить.

  • @mrskorpion1655
    @mrskorpion1655 Před měsícem

    Раньше прогал, на питоне сейчас на плюсах и капец как стало непривычно видеть код на питоне 😅

  • @Alexander_Excel_Genie
    @Alexander_Excel_Genie Před 10 měsíci +1

    Прикольно, Сенсей, спасибо❤

  • @user-lx5fo6oo1k
    @user-lx5fo6oo1k Před 11 měsíci

    Как можно было это не знать, все так очевидно. Автору спасибо👋

  • @timurtim4496
    @timurtim4496 Před 8 měsíci +3

    Подожди. А разве после цикла while нельзя просто написать if(a==3):
    print("цикл завершён")
    По идеи когда а достигнет 3 цикл будет завершён правильно и все напишется.
    Изменено: Ахринеть оно поддерживает Else. Не знал. Спасибо за инфу автору.

  • @mideks
    @mideks Před rokem +5

    блин вот оно как! а я думал этот более бесполезный какой-то. а он оказывается не выполняется если досрочно выйти из цикла

  • @bebra2132
    @bebra2132 Před rokem +1

    Для этих, кто не знал советую пройти курс на степике "поколение python", желательно все 3 части, думаю многие смогут узнать много нового оттуда

    • @PythonGuru_
      @PythonGuru_  Před rokem

      любое обучение всегда положительно

    • @bebra2132
      @bebra2132 Před rokem

      @@PythonGuru_ согласен, тем более, что первые 2 части бесплатны, но его особенность - это довольно таки большое количество математики для курса по программированию

    • @PythonGuru_
      @PythonGuru_  Před rokem

      математика это важный момент, без нее потом такие алгоритмы у начинающих нарисовываются

  • @user-pi3em2ke2l
    @user-pi3em2ke2l Před 7 měsíci +3

    Кто-то годами учит программирование а кто-то шортсы смотрит

    • @iliuhahaha
      @iliuhahaha Před 7 měsíci

      Я тоже годами, шортсы смотрю

    • @user-pi3em2ke2l
      @user-pi3em2ke2l Před 7 měsíci

      @@iliuhahaha врешь

  • @LentY2
    @LentY2 Před měsícem

    Узнал недавно пытаясь пересобрать нумерацию в словаре с кастомным интерфейсом tkinter, типа там есть click1 click2 click3, если удаляешь click2 то словарь пересобирается и получается click1 click2, и уже click 2 будет со значением click3, прикол был если удалял click1, то не работало.

  • @vanilka4687
    @vanilka4687 Před 2 měsíci

    Надо же. Я это в книге byte of python вычитал. Не думал, что мало кто об этом знает

  • @Vlad_Jonson
    @Vlad_Jonson Před 10 měsíci +2

    А задача реально интересная 🤗

  • @funtickgd9502
    @funtickgd9502 Před 2 měsíci

    Синтаксический сахарок, как же без него. Без else кста код будет выглядеть так:
    a = 0
    while a < 4:
    print(a)
    a += 1
    if a == 2:
    print("завеошено на 2")
    elif a == 4:
    print("цикл завершен полность")

  • @Pas121
    @Pas121 Před 10 měsíci +10

    Так можно было? Я бы перед break завел булеву переменную, и проверял ее перед print

    • @PythonGuru_
      @PythonGuru_  Před 10 měsíci +2

      можно

    • @rKvinty
      @rKvinty Před 10 měsíci +1

      так впринципе все и делают

    • @user-ep4rn9zh9g
      @user-ep4rn9zh9g Před 10 měsíci +1

      Это в нормальных языках так делают. А тут питон, ты ему что-то сказал, он что-то понял, и как-то сделал. Хотя лет 15 назад такая шутка была про пхп.

    • @cheefoxcheefox2372
      @cheefoxcheefox2372 Před 6 měsíci

      Это перебор,конечно. Можно просто после цикла проверить, что условие продолжения цикла ложно.
      Else уберегает от опечаток.

  • @Asus_Rog_Maximus-k3s
    @Asus_Rog_Maximus-k3s Před 7 dny

    Я учу C++, но такими темпами с моими реками я выучу и п(р)Итон😂

  • @user-qb7nq7oo2v
    @user-qb7nq7oo2v Před měsícem

    Я при виде break в цикле 8*(
    Меня вот по молодости учили делать без goto
    a=0;notStopped=True
    while (a

  • @zvenios
    @zvenios Před měsícem

    После перехода с Lua на Python мне было сложно разобраться как заканчивать циклы и тому подобное, пытался понять что ставить вместо end в конце, в Lua можно весь код без отступов написать и будет работать

  • @wigeonN
    @wigeonN Před měsícem

    A = 0
    while A < 4:
    print(a)
    A += 1

  • @mishambricklpo9621
    @mishambricklpo9621 Před 7 měsíci +1

    Print нужно ставить в конце цикла

  • @drimki_1381
    @drimki_1381 Před rokem +2

    О, спасибо, буду знать

  • @den-rad
    @den-rad Před rokem

    В других языках можно завести boolean переменную, которая равна true по-умолчанию, а в условии перед break можно присвоить этой переменной false
    Если переменная == true, но цикл завершился полностью.

    • @PythonGuru_
      @PythonGuru_  Před rokem +1

      вариант с флагом, а тут можно без этого

    • @user-us5zb1gs3p
      @user-us5zb1gs3p Před 11 měsíci

      Зачем присваивать в условии если можно в while

  • @JonathanJostar1
    @JonathanJostar1 Před 8 měsíci

    Конечно я сейчас прохожу C# ,но посмотрев ваши видео мне более менее становится понятно ,что и как делать .

  • @wtfaker
    @wtfaker Před 9 měsíci

    Интересно смотреть такие задачи. Только меня смущает иногда один ньанс, практическое применение.
    Я в целом знаю базу питона и несколько модулей хорошо, ещё несколько среднее, н ци по мелочи. Вообщем чуть выше новичка. Но мне вот например не понятно, какую задачу данная конструкция решает?)
    Для меня это выглядит примерно так.
    Невероятно!!? все работает так как я и написал, просто глазам не верится)
    Правда я знал, что можно использовать else вместе с while)

    • @PythonGuru_
      @PythonGuru_  Před 9 měsíci +1

      что нибудь такого рода.
      # Программа угадывает число, которое задумал пользователь
      secret_number = 42
      guess = 0
      attempts = 0
      max_attempts = 3
      while guess != secret_number and attempts < max_attempts:
      guess = int(input("Угадайте число: "))
      attempts += 1
      else:
      if guess == secret_number:
      print("Поздравляем! Вы угадали число за", attempts, "попыток.")
      else:
      print("Извините, вы исчерпали все попытки. Задуманное число было", secret_number)

    • @wtfaker
      @wtfaker Před 9 měsíci

      @@PythonGuru_ действительно, все просто. Хороший вы программист, а я видимо неочень пока))
      Наверное стоило сильнее свой аналитический аппарат напрячь.
      Спасибо!
      Не мне вас учить, и наверняка формат шортс слабо подходит, но еслиб этот пример был в видео, то было бы проще воспринимать. Особенно новичкам таким как я у которых пока туго с практической фантазией или банально нет опыта.
      Всетаки когда есть логичное применение, информация лучше запоминается. Чем эти сферические кони в вакууме.
      Ещё раз, не учу вас, просто выражаю свое мнение субъективное.
      Спасибо за ваш труд!

    • @PythonGuru_
      @PythonGuru_  Před 9 měsíci

      )

  • @cybercatlet9802
    @cybercatlet9802 Před rokem +6

    Спасибо

  • @mgotovtsev
    @mgotovtsev Před 6 měsíci

    Знаю об этом только потому что на собесах спрашивают. В реальности ни разу не видел чтобы использовали...

  • @ПанковМакс2008
    @ПанковМакс2008 Před 9 měsíci

    Кстати в сириус курсах(бесплатные курсы для школьников по разным предметам) в курсе введение в програмирование на python про это рассказывали

    • @PythonGuru_
      @PythonGuru_  Před 9 měsíci

      это как бы не закрытая информация)

  • @TREGZCODE
    @TREGZCODE Před rokem

    Это надо знать еще в самом начале. Когда больше практикуетесь таких простых вопросов нет даже

    • @PythonGuru_
      @PythonGuru_  Před rokem +4

      да вообще хорошо все знать ) но так не получается…

  • @user-zj6cb9th1o
    @user-zj6cb9th1o Před 8 měsíci

    Я прохожу курсы по программированию на Python, и даётся мне это тяжеловато, все же гуманитарий. Понять это видео было немного сложно, но я понял. Спасибо, автор. А и нще, ты что, серьезно отвечаешь на все комментарии?

    • @PythonGuru_
      @PythonGuru_  Před 8 měsíci

      стараюсь. но когда очень много, могу пропустить, особенно если они вложенные

  • @barbosspirat
    @barbosspirat Před 10 měsíci

    Еще и цикл for имеет конструкцию else она срабатывает если цикл прошёл полностью не остановился(например break)

  • @animation7803
    @animation7803 Před 7 měsíci

    вобще можно вместо else
    Зделать if n>=4: результат будет таким же но else будет проще написать

  • @daitedve1984
    @daitedve1984 Před 9 měsíci

    чем вычурнее конструкция, тем более вероятно, что вот она нахрен не нужна!

  • @Wiess256
    @Wiess256 Před 2 dny

    так надпись "Цикл завершен полностью" не относилась к циклу, поэтому и вывелась

  • @happchue
    @happchue Před 25 dny

    решение неверное, если в цикле будет continue

  • @user-cr5zi2pq3q
    @user-cr5zi2pq3q Před 26 dny

    Я самокчка и изучал питон от силы 2 месяца (и больше не питон а api телеграмма) и даже я это знаю.
    Хз зачем мне было нужно но помню что делал. Через месяц может нарою код и уточню (пк за 70 км на сьёмной квартире. Я студент теперь уже 2 курс)

  • @asipes
    @asipes Před 10 měsíci

    do while при виде конструкции while-else: Наконец-то достойный противник! Наша битва будет легендарной!

    • @PythonGuru_
      @PythonGuru_  Před 10 měsíci

      звучит легендарно )
      мочи козлов )

  • @lpwlx
    @lpwlx Před 9 měsíci

    немногие знают, но в моей шараге это было, кажется, в первой лекции по Пайтону 🤷

  • @igrrs1309
    @igrrs1309 Před rokem +3

    Ну и костыль ) В других яп есть фигурная скобка которая размечает границы а в питоне можно ошибиться не на роком ) Видимо для таких случаев такой костыль и в добавок нарушает читаемость.
    Луче его не использовать что бы не запутывать код

    • @PythonGuru_
      @PythonGuru_  Před rokem

      С отступами лучше, чем со скобками. Отступы нельзя поместить в одной строке и парные отступы находятся всегда на одном уровне сдвига от начала строки, в отличие от фигурных скобок. Поэтому это кажется, что со скобками вроде как лучше…но это не так )

    • @igrrs1309
      @igrrs1309 Před rokem

      ​@@PythonGuru_ Ну если используют отступы как разметку то я не вижу разницы. Оно не луче ни не хуже. Замените отступы на что угодно и работать оно будет также ) То что они не могут быть на одной строке это лиш искусственное ограничение так как отступ тоже является символом как и скобка. Суть то в том что бы видеть границу а не представлять её в голове ) А отступы нужно учиться различать так как это все таки не видимый явно символ

    • @bbbb-me6vm
      @bbbb-me6vm Před 11 měsíci +2

      ​@@PythonGuru_что будет, если форматирование потеряется? Отступ это невидимый элемент и может быть просто потерян. Потом форматирование можно восстановить?

    • @user-km5nv6ww2e
      @user-km5nv6ww2e Před 11 měsíci +1

      Отступы это зло, это просто лютейшая дичь, особенно если ты пришёл к Python-у после C-подобных языков, где используются скобки, или языков, где блок отделяется отдельными ключевыми словами типа begin...end, как в Pascal, pl/SQL и пр.
      Первое что страдает - компактность. Теперь ты не можешь простое выражение
      if a < b then min=a else min = b
      записать в одну строку, теперь это все барахло на отдельных строках, причём, то что в ветках then и else должно идти: 1) с новой строки; 2) с правильными отступами, на один уровень ниже чем if и else.
      То есть, выражение выше уже записывается в несколько строк таким образом:
      if a < b:
      min = a
      else:
      min = b
      (Кстати, вы же обратили внимание что else находится на одном уровне с if? Здесь также хотелось бы поругаться на Python, но, к сожалению, эта дичь появилась до него, в тех же curvy-braces языках. И эта особенность создаёт проблему соотнесения else с if в случае вложенности выражений - какому if, while, switch соответствует этот else? Ответ - ближайшему, но эта проблема не возникала бы вообще если бы else был вложен в if, как это сделано в том же Pascal, pl/SQL)
      Вторая проблема с отступами - пустые строки-разделители. Скажем, вы пишете функцию и сразу после сигнатуры функции хотите сделать пустую строку перед телом функции, чтобы визуально их разделить, для пущей удобочитаемости. Так вот, если это будет именно пустая строка, то такой код не выполнит я 😏. Знаете почему? Потому что после сигнатуры с новой строки начинается тело функции, оно должно быть вложено, то есть, иметь, плюс один отступ по отношению к объявлению функции, а, значит, даже ваша пустая строка-разделитель должна иметь правильное (!) число отступов в начале 😁, иначе интерпретатор языка не понимает что это за такую строку он сейчас встретил.
      В общем, здесь ещё можно много чего писать. И про разное количество пробелов, которым добиваются отступы и на которое потом ругается интерпретатор. и про код, который не помещается на один экран (разработчики языка считают что такой код вообще не должен существовать 😏) и как там понять вложенность хз. И про то что если вам бросили через мессенджер кусок кода на пайтоне а тот (мессенджер) потёр лидирующие пробелы, то это теперь не код, а хлам. Чего никогда не будет с фигурными скобами или begin..end.
      Что поделать, такое архитектурное решение, создатели языка увидели это так и впоследствии даже сумели убедить в своей точке зрения разработчиков, мол, это не баг а фича, это для того, дорогие разработчики, чтобы научить вас дисциплине.

    • @user-km5nv6ww2e
      @user-km5nv6ww2e Před 11 měsíci

      Кстати, хотелось бы ещё заметить по поводу моего примера с if. Возможно, кто то возразит что это пример совершенно искусственный и здесь даже if использовать не нужно, а нужно использовать т.н. тернарный оператор. Так вот, здесь Python тоже решил переизобрести этот оператор.
      Если в C-подобных языках этот оператор выглядит следующим образом:
      var = (condition) ? (expr if true) : (expr if false)
      То в Python это будет выглядеть так:
      var = (expr if true) if (condition) else (expr if false)
      То есть, мой пример с if с использованием тернарного оператора в Python будет выглядеть так:
      min = a if a < b else b
      Первое мнение - зачем что то менять, зачем переизобретать велосипед, зачем ломать устоявщиеся в отрасли конструкции и идиомы? Но, создатели языка считают что именно так правильно, более интуитивно, ближе к тому как мы фоомулируем эту ситуацию в естественных языках (те на которых пишем и говорим) 🤷‍♂️. Хотя, для меня такая конструкция нечитаема, разорваны значения и условие, для читаемости значения должны быть рядом.

  • @tracknthrow
    @tracknthrow Před měsícem

    Сам автор питона говорил, что если бы создавал язык заново, то не добавлял бы этого

  • @jankaban2871
    @jankaban2871 Před 10 měsíci

    на первый взгляд выглядит как что то полезное... но на самом деле я так и не придумал где это использовать, и вообще если подумать это из серии вредные советы, даже вынося использование циклов в коде за скобки

    • @PythonGuru_
      @PythonGuru_  Před 10 měsíci

      тут уж вам решать, я не советую использовать, я говорю, что многие об этом не знают

  • @assasin4iK-935
    @assasin4iK-935 Před 9 měsíci

    Я знал про for else , но теперь знаю что с while тоже так можно :) 😊

    • @PythonGuru_
      @PythonGuru_  Před 9 měsíci +1

      в пайтоне все циклы поддерживают структуру с for

    • @assasin4iK-935
      @assasin4iK-935 Před 9 měsíci +2

      @@PythonGuru_ может вы имели ввиду с else?

    • @PythonGuru_
      @PythonGuru_  Před 9 měsíci +1

      ой, да ) с else )

  • @mylane
    @mylane Před 9 měsíci

    Хехе, а я пока смотрел подумал что можно использовать try и finally, а оказывается все так

  • @syrex888
    @syrex888 Před rokem +4

    Интересно, но бесполезно 😊 лучше не допускать ветвлений в цикле для хорошей читаемости кода

    • @PythonGuru_
      @PythonGuru_  Před rokem

      это не относится к ветвлению. Ветвление, когда мы вкладываем дополнительные условия внутрь существующих условий

    • @anatol2709
      @anatol2709 Před rokem

      @@PythonGuru_ да он прав, когда питон используешь не как основной, такие фокусы вымораживат немного

    • @aleksv501
      @aleksv501 Před 7 měsíci

      ​@@PythonGuru_это ветвление

  • @RadexStonder
    @RadexStonder Před 7 měsíci

    Ох уж этот Удав, мало того, что пробелы вместо скобок, так ещё и else к while зачем-то присрали

  • @Sergey-Primak
    @Sergey-Primak Před 11 měsíci

    "в случае если все цифры были выведены" - неверное решение данного условия
    if a!=2: print(a)
    в итоге будут "выведены" все числа кроме 2

    • @PythonGuru_
      @PythonGuru_  Před 11 měsíci

      там нет a!=2. Там есть, если a==2

  • @perl4396
    @perl4396 Před rokem +3

    Такое и есть и для цикла фор, но так никогда не стоит делать, это ломает читаемость кода. Таких штук вообще много в питоне, но они далеко не всегда лучше

    • @PythonGuru_
      @PythonGuru_  Před rokem +1

      Чем они ломают? Это не вложенные условия, это конструкция первого уровня.

    • @perl4396
      @perl4396 Před rokem +1

      @@PythonGuru_ читаемость - не только вложенность, это также про понятность кода, многие знают про эту фишку, но я ни разу не встречал ее в продакшн коде, потому что это только путает

    • @PythonGuru_
      @PythonGuru_  Před rokem +1

      не соглашусь. К этому можно и / и * например отнести в аргументах функции. Мало кто знает.
      Понятность кода также зависит и от знаний человека. А вот удобочитаемость - это удобочитаемость. И конструкция while else наоборот укорачивает код и легко читается.

    • @perl4396
      @perl4396 Před rokem

      @@PythonGuru_ не согласен, если арги и кварги очень часто встречаются, есть и рест в жсе, такой же оператор в джава, да во всех языках есть похожий аналог и его в принципе ни чем не заменить, то else после циклов - плохая практика, во-первых, сам автор языка об этом заявлял, а во-вторых, если бы это была такая крутая фишка - она бы хотя бы встречалась, но за 4 года разработки ни разу ее не видел. Хороший код сочетает в себе и оптимизацию, и читабельность, хороший код даже новичок сможет без труда прочесть и понять что же там происходит, очень часто встречал когда читабельность идёт даже в угоду оптимизации, ибо просто легче поддерживать такой код.

    • @PythonGuru_
      @PythonGuru_  Před rokem +1

      если такая плохая фишка, то почему ее до сих пор не убрали?
      Лично я ее использую, как и многие другие, так де находят это удобным. Вы можете не использовать )

  • @polakZaL
    @polakZaL Před 5 měsíci

    Хочу уйти в програмирование,вылез этот ролик....смотрю и понимаю как же я далек пока от этого....как будто с другой планеты 😊

  • @AyubMagomedov
    @AyubMagomedov Před 11 měsíci +1

    годно

  • @Human_tr
    @Human_tr Před 11 měsíci +1

    Я теперь понял как работает цикл white

  • @user-og8kc2mg3k
    @user-og8kc2mg3k Před 5 měsíci

    Break завершает цикл и блокирует срабатывание else, но сама программа работает дальше, и, если какую-то фразу вынести за сам цикл, то она всё равно выведется, даже без срабатывания else

  • @Vlad_Jonson
    @Vlad_Jonson Před 10 měsíci +3

    Всё понятно,меня java послала куда подальше и дала знать что мне надо подумать 😅

    • @PythonGuru_
      @PythonGuru_  Před 10 měsíci +2

      эта фича только в пайтоне

    • @sergeysoprunovvv9656
      @sergeysoprunovvv9656 Před 9 měsíci

      Тут и скобок нет как в Java, в Java проще создать boolean флаг, который будет проверять условие true/false

  • @SKY-jh5sh
    @SKY-jh5sh Před rokem +1

    Ну как бы я знаю что else работает в цикле while. Он и в цикле for работает и в обработке исключения и в том числе с условной конструкции match.

  • @bmx666bmx666
    @bmx666bmx666 Před 11 měsíci

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

    • @PythonGuru_
      @PythonGuru_  Před 11 měsíci

      есть такле

    • @user-km5nv6ww2e
      @user-km5nv6ww2e Před 11 měsíci

      А даже когда необходимо то легко можно обойтись и без неё, например, введя булеву переменную-флаг, устанавливая этот флаг в случае досрочного выхода и анализируя значение этой переменной после цикла.
      Относительно выражения (clause) else в while всегда считал это странной фичей и предполагал что это нужно в случае если тело цикла вообще ни разу не выполнилось, то есть, если на первой же итерации (перед итерацией, точнее) оказывается что условие ложно.

    • @bmx666bmx666
      @bmx666bmx666 Před 11 měsíci

      @@user-km5nv6ww2e так это синтаксический сахар, полезно для быстроты разработки и понимания

  • @Amnogus
    @Amnogus Před 11 měsíci

    Знание полезно но можно просто поставить условие в цикле что если a

    • @PythonGuru_
      @PythonGuru_  Před 11 měsíci

      можно

    • @wylarsh
      @wylarsh Před 11 měsíci

      А если цикл сложнее, чем просто а+1? А если переменная задаётся пользователем? Это же просто пример.

    • @arher743
      @arher743 Před 6 měsíci

      @@wylarshпеременную так же в if добавляешь

  • @ночной_проказник

    По моему просто блок кода print нужно поместить в while табуляцией.

    • @PythonGuru_
      @PythonGuru_  Před 9 měsíci

      поместить можно, но там это для пояснения процесса. Поэтому сдвинув, уже будет не о том

  • @vincent6381
    @vincent6381 Před 10 měsíci +1

    не вложенная в цикл функция отрабатывает после его завершения вне зависимости от условия цикла. прямо таки магия

  • @vitalijshapovalov3434

    Об этом рассказывалось на курсе для начинающих на степике (от поколение Пайтон). Сейчас как раз заканчиваю этот курс )))

  • @kor_com7763
    @kor_com7763 Před 10 měsíci

    Никогда не слышал об этом. Спасибо автору за годный контент

  • @nkl1978
    @nkl1978 Před 5 měsíci

    Как же все через самое неудобное место сделано.

  • @renatiusbe
    @renatiusbe Před 8 měsíci

    Брейк внутри цикла в моей молодости было дурным тоном, а тут вокруг него такие пляски...
    Сдаётся мне, технари деградируют, и весь этот питон - подтверждение этой теории.

  • @user-tx6jb8yv7u
    @user-tx6jb8yv7u Před měsícem +1

    Так погнав я провіряти на c++

  • @ivanivanov9147
    @ivanivanov9147 Před 9 měsíci

    Можно и без этого просто на вывод последней строки поставить if a == 4, или можно вместо брейка из цикла выходить через goto, да знаю что в уважаемых кругах это зашквар, но почему бы и нет.

  • @KomarovEA
    @KomarovEA Před 10 měsíci +1

    For тоже этотподдерживает

  • @Via_Dolorosa
    @Via_Dolorosa Před 11 měsíci +1

    конечно всё круто,но я просто добавлю ещё одну переменную как счётчик

    • @PythonGuru_
      @PythonGuru_  Před 11 měsíci

      хозяин барин ) Тоже правильный вариант

  • @u82g73r9842tgs09he29
    @u82g73r9842tgs09he29 Před 10 měsíci

    Только сегодня проходил это на степике

  • @grisha_animeshka
    @grisha_animeshka Před 8 měsíci

    можно было просто проверять, что a == n-1 (n в данном случае 4)

    • @PythonGuru_
      @PythonGuru_  Před 8 měsíci

      там суть в другом, в ролике

  • @Sussiestbanana
    @Sussiestbanana Před 27 dny

    И вправду работает

  • @arher743
    @arher743 Před 6 měsíci

    Интуитивнее if a >= 4: print('конец') , потом вспоминай зачем этот else был . Особенно когда его выпилят из очередной новой версии

  • @TosterBezHleba
    @TosterBezHleba Před rokem +1

    Вообще, я по моему знал что он поддерживает else но не думал что он так приминяется, буду знать

  • @JeanBotan
    @JeanBotan Před 7 měsíci

    Не работаю с Пайтон, но возможность интересная 👍

  • @macbkk
    @macbkk Před 3 měsíci

    Если все цифры были выведены... А что если цифры были выведены, а цикл не был завершен? if a == 3 покажет, что задача сформулирована некорректно. Все цифры будут выведены, но вывода "Цикл завершен полностью" не будет ✌️

    • @Genesis14185
      @Genesis14185 Před 3 měsíci

      В чем проблема в низу цикла поставить принт?
      Цикл доходит,выходит принтуется надпись и все.А если хочешь что то нахимичить то наоборот грузит сильно компютер

    • @macbkk
      @macbkk Před 3 měsíci

      ​@@Genesis14185 Код под сформулированную задачу написан некорректно. Тут либо код переписывать, либо задачу переформулировать. А можно оставить как есть и болт забить)

  • @виртуоз_ру
    @виртуоз_ру Před 11 měsíci

    break в циклах работает по-другому нежели в switch.
    Так же можно поставить return

    • @PythonGuru_
      @PythonGuru_  Před 11 měsíci

      return у нас только для функций

  • @user-ss2vt6qc6k
    @user-ss2vt6qc6k Před 9 měsíci +2

    А как тоже самое сделать с конструкцией
    (i=0; i>4; i++1)?

    • @PythonGuru_
      @PythonGuru_  Před 9 měsíci

      в js через доп проверку, через счетчик

  • @user-ng2ss6hr3k
    @user-ng2ss6hr3k Před 10 měsíci

    Можно вместо break поставить continue

    • @PythonGuru_
      @PythonGuru_  Před 10 měsíci

      закрепленный коммент

    • @Sultankakto
      @Sultankakto Před 9 měsíci

      Я не могу понять разницу между break и continue.

  • @IgorAlov
    @IgorAlov Před 5 měsíci

    Вообще любой цикл имеет else во всех современных языках

  • @MonsterGaroo
    @MonsterGaroo Před 6 měsíci

    Аааа понял
    Я поначалу : о чём речь
    Пересмотрел 4 раза чтобы понять😮

  • @YummyRed
    @YummyRed Před 8 měsíci

    Должно быть, конечно, не else, а finally, иначе мозгом не воспринимается. А так - круто.

  • @zizichlee4222
    @zizichlee4222 Před 11 měsíci

    В соседнем видео был дед-сенсей, с какой то Чун-Дре-Хер видом спорта... Так вот, он тоже думает, что его приемы не знают 90 % спортсменов

    • @PythonGuru_
      @PythonGuru_  Před 11 měsíci

      Я очень часто в жизни сталкиваюсь с такими моментами, и думаю не один я. Когда ты знаешь, а кто-то нет. И ты думаешь, это же основы, как такое можно не знать…Оказывается можно. И по статистике, будет 90% новичков, 9% мидов и 1% сеньоров. И вот почти все новички, или пропускают это в начале их обучения или им это вообще не преподают.

  • @gecreator412
    @gecreator412 Před 9 měsíci

    Классная конструкция в языке xD. Обходите её за километр!

  • @Homyachkietosila
    @Homyachkietosila Před 4 dny

    Это что за редактор такой классный? Как называется?

    • @PythonGuru_
      @PythonGuru_  Před 3 dny

      Visual studio code от Microsoft, совершенно бесплатно. Не путать с Visual Studio

    • @Homyachkietosila
      @Homyachkietosila Před 3 dny

      @@PythonGuru_ благодарю

  • @lemual
    @lemual Před rokem +2

    Скажите, это все популярные языки поддерживают?

    • @PythonGuru_
      @PythonGuru_  Před rokem +1

      практически ни один, кроме пайтона

    • @vas_._sfer6157
      @vas_._sfer6157 Před 11 měsíci

      В питоне тоже скоро удалят

    • @ill4374
      @ill4374 Před 11 měsíci

      ​@@PythonGuru_Во многих си-подобных языках.

    • @ill4374
      @ill4374 Před 11 měsíci

      ​@@vas_._sfer6157удалят, чтобы что?

  • @hdhdudihdudu7334
    @hdhdudihdudu7334 Před 16 dny

    А нельзя поменять "while" на "for"
    И начать с 1?

  • @Van-679
    @Van-679 Před 9 měsíci

    Я знаю об этом. Также это работает с оператором for

    • @PythonGuru_
      @PythonGuru_  Před 9 měsíci

      точнее сказать, со всеми циклами

  • @maksa_legend
    @maksa_legend Před rokem

    В цикле for работает аналогично
    Правда, такая конструкция обычно не используется, и может вызвать путаницу из-за этого

    • @PythonGuru_
      @PythonGuru_  Před rokem

      когда знаешь, там пусть уже сами программисты решают, использовать или нет )