Free YouTube Transcribe

Video transcript

Уроки Python с нуля / #6 – Циклы и операторы в них (for, while)

Школа itProger / Программирование · 2,955 words · 14 min read

Want to search this transcript, jump the video from any line, or download it as TXT, SRT, or VTT?

Open in the transcript tool

Full transcript

Начало

0:00Привет В ходе этого урока мы с вами

0:01научимся работать с циклами а также с

0:03операторами циклов в языке Python а

0:06перед началом Я бы хотел порекомендовать

0:08сайт itproger.com на этом сайте вы

0:10найдёте код домашние задания и много

0:12другой полезной информации ссылка на

0:14этот урок на сайте будет в описании к

0:15этому видео для начала Давайте

Что такое циклы?

0:17определимся с тем что такое циклы циклы

0:20- это специальные конструкции что

0:21позволяют выполнять код несколько раз

0:24подряд причём количество выполнений мы

0:26можем указать самостоятельно в языке

0:28Python существует два формата циклов это

0:30цикл for а также цикл while эти циклы мы

0:33как раз с вами сейчас и изучим для

Цикл «for»

0:36начала Давайте познакомимся с таким

0:37циклом как for для его записани мы

0:40должны прописать ключевое слово for А

0:42дальше мы должны создать некую

0:43переменную эту переменную можете назвать

0:46как угодно Ну допустим давайте я её

0:48просто назову как I эта же переменная

0:50она будет использоваться внутри цикла

0:52далее мы с Вами просто указываем

0:54диапазон для указания диапазона можно

0:56использовать такой метод который есть в

0:58языке Python он называется Range здесь

1:01мы допустим скажем что диапазон у нас

1:03пускай будет до шести чисел Ну и далее Я

1:06просто хочу внутри самого этого цикла

1:08что-либо делать поначалу мы Давайте

1:10здесь просто будем каждый раз выводить

1:11Вот эту вот нашу переменную если на

1:14данный момент всё это запустить то в

1:16таком случае мы заметим что каждый раз у

1:18нас будет выводиться значение самой этой

1:20переменной причём Вы можете заметить что

1:22изначально значение переменной оно у нас

1:25идёт от нуля и далее оно идёт вплоть до

1:29пяти То бишь У нас вот это вот число оно

1:31не учитывается и соответственно отсчёт

1:33ведётся с нуля до вот этого числа не

1:36включительно Кроме того всё что вы

1:39будете записывать внутри цикла оно здесь

1:41также должно выделяться Вот такими Вот

1:42отступами точно здесь такая же концепция

1:45как и в условных операторах То есть если

1:47вам нужно прописать несколько строчек

1:49кода то соответственно каждую строчку

1:51кода вы отделяется определённым

1:52количеством отступов Это количество

1:55отступов должно быть одинаковым помимо

1:57того что мы можем просто вот указать ЦИК

Функция «range»

2:00который будет идти У нас от нуля до

2:01определённого числа не включительно Мы

2:03также можем сказать что у нас пускай

2:06будет наш цикл идти например от числа

2:09один и дальше например до шести не

2:11включительно в таком случае мы замечаем

2:13что видите ноль у нас уже пропал у нас

2:15было пять итераций и соответственно за

2:18пять этих итераций у нас были выведены

2:19такие числа как 1 2 3 4 ну и

2:22соответственно 5 в эту же функцию Вы

2:24можете передать и третий параметр и в

2:27третьем параметре вы указываете

2:29насколько мы будем увеличивать саму нашу

2:31переменную по умолчанию эта переменная

2:33она увеличивается на единицу Ну и у нас

2:35получается вывод 1 2 3 4 и так далее но

2:38также если мы укажем допустим Число два

2:40то в таком случае у нас изначально будет

2:42идти один потом у нас число будет три

2:44потом число пять Ну и дальше Всё дальше

2:46уже ничего у нас выводиться не будет

2:48таким образом для создания цикла мы

2:50можем использовать функцию Range а также

2:53сам цикл for и здесь мы можем указать

2:55во-первых начальное значение во-вторых

2:57конечное значение а также можем указать

3:00определённый шаг если нам подходит чтобы

3:03значение начиналось от нуля то

3:05соответственно просто можем использовать

3:06лишь один параметр например указать

3:08какое-то конечное значение Ну и в целом

3:10вот у нас и будет нужный нам цикл через

Перебор строки

3:13цикл фр Мы также можем перебирать

3:14определённые строки Дело в том что любая

3:17строка - это список что состоит из

3:19множества символов и соответственно

3:21каждый символ мы можем как раз и

3:23перебрать Для начала я Давайте создам

3:26некую строку Пускай здесь будет написано

3:28Hello world что-то в этом духе и далее

3:30мы создаём цикл цикл создаём точно так

3:33же само вот только уже вместо функции

3:35Range здесь Я указываю нашу вот эту Вот

3:37переменную которую мы и будем перебирать

3:39также по необходимости Вы можете сюда не

3:41указывать переменную а просто здесь

3:43Можете создавать некую строку и эту же

3:45строку вы как раз и будете перебирать Ну

3:47я Давайте лучше укажу всё-таки

3:48переменную если я здесь внутри цикла

3:50просто укажу вывод Ну вот этой нашей

3:53переменной I то в таком случае мы

3:55получим с вами следующий результат у нас

3:57каждый раз будет выводиться как бы один

3:59определённый символ из этой строки Ну и

4:02получается что каждый символ из этой

4:04строки он здесь как раз и был выведен

4:06даже Даже тот же самый пробел он тоже

4:08здесь был выведен Ну и с каждым из

4:11символов мы можем на самом-то деле

4:12работать как нам только вздумается

4:14допустим я могу умножить каждый символ

4:16на три и в таком случае мы получаем то

4:18что у нас видите каждый символ вводится

4:20по три раза Но это всё не особо

4:22практично мы Давайте лучше с вами

4:24разработаем небольшую программку и в

4:26этой программ Я хочу делать то что я

4:28буду осуществлять поиск определённого

4:30символа в строке как такое можно сделать

4:33мы вот прямиком здесь в цикле

4:35прописываем с вами определённое условие

4:37и в этом условии мы скажем то что если у

4:39нас сама вот эта вот переменная она

4:42будет равна такому символу как

4:43восклицательный знак предположим Что

4:45именно такой символ Я хочу как раз

4:47искать в строке так вот если у нас

4:49какая-либо какой-либо символ будет равен

4:52вот этому восклицательного знаку то в

4:54таком случае мы с вами будем говорить о

4:56том что Yes Ну просто допустим будем

4:58выводить слово Yes и будем понимать то

5:00что действительно такой символ он был

5:03найден давайте мы ещё раз запустим

5:05программку и вот мы замечаем что ничего

5:07У нас не было выведено на экран тем

5:09самым мы понимаем что такого символа

5:11попросту нету в строке в то же время

5:13если я добавлю Этот символ в строку то

5:15мы замечаем что вот у нас вводится Yes и

5:17всё я теперь понимаю что в этой строке у

5:19меня точно есть вот этот вот символ

5:21Также можно было бы ну как бы искать

5:24какой-либо другой символ Допустим мы

5:26будем искать такую букво как L и и в

5:29нашем случае здесь Аж три раза у нас

5:31выводится е по той причине что здесь

5:33действительно Аж три таких есть символа

5:36Ну и конечно же это можно не просто всё

5:38выводить потому что э ну это не особо

5:40интересно мы Давайте лучше с вами будем

5:42делать Вот что мы создадим здесь некую

5:44переменную она пускай будет у меня

5:46называться как coun она будет идти со

5:47значением ноль и каждый раз когда мы

5:49будем находить определённую Когда будем

5:52находить определённый символ мы эту

5:54переменную будем увеличивать на единицу

5:56и после того как цикл уже закончится мы

5:58буде просто будем будем выводить

6:00количество элементов здесь давайте мы

6:02так и напишем что Count и будем выводить

6:04нашу Вот эту вот переменную Count если

6:06такое запустить то вот мы замечаем что у

6:08нас как бы количество вот этих вот

6:10символов равно числу три да то есть три

6:12Вот таких вот символа было найдено если

6:14я попробую найти какой-то другой символ

6:16то вот у нас например букво W её здесь

6:19ноль как бы символов Почему кстати букво

6:22W не была найдена потому что мы ищем на

6:25такую букво в Нижнем регистре А здесь

6:27она находится в верхнем регистре для

6:29питона - это как две разные буквы как

6:31два разных символа поэтому у нас не было

6:33найдено ни одного подобного символа в

6:35самой этой строке помимо цикла for в

Цикл «while»

6:38языке Python существует ещё такой цикл

6:40как while суть этого цикла заключается в

6:42том что он также позволяет нам выполнять

6:44определённый код несколько раз подряд и

6:46количество выполнений мы можем

6:48определить самостоятельно разница между

6:50циклом for и циклом while заключается

6:52лишь в формате записи если мы говорим

6:55про цикл for то там мы всегда используем

6:57вот это вот ключевое слово in и как мы

6:59говорим что конкретно мы с вами

7:01перебираем Либо мы указываем диапазон

7:03Либо мы просто с вами перебираем

7:04определённую там строку или в будущем мы

7:06ещё будем перебирать определённые списки

7:09если мы говорим про цикл while то в

7:11цикле while мы можем просто указать

7:12определённое условие Давайте Вот мы

7:14сейчас с вами создадим простой как бы

7:17пример этого цикла а чуть позже ещё

7:18создадим с условием вот к примеру Я

7:20создаю некую переменную Пускай это будет

7:22I у неё изначально будет значение как

7:24пять Ну предположим Пускай такое будет

7:26значение далее мы создаём сам этот цикл

7:28мы прописываем ключевое слово while и

7:31здесь мы должны просто указать лишь одно

7:33определённое условие мы как бы говорим о

7:36том что весь наш цикл он будет длиться

7:39до тех пор пока у нас I будет меньше чем

7:42значение 15 здесь же в цикле Я просто

7:45говорю что конкретно мы будем делать

7:47предположим Я просто эту переменную буду

7:48выводить на экран а также я хочу сказать

7:51то что мы к этой же переменной будем

7:53добавлять каждый раз например Число два

7:56Ну можно один добавлять конечно Ну я

7:57допустим вот два хочу добавлять если

7:59такое сейчас запущу то мы замечаем вот

8:01что изначально у нас значение переменной

8:03было пять это значение как раз здесь и

8:05было выведено Потом мы переменную

8:07увеличили на два и как бы опять-таки

8:09вернулись к циклу опять это Значение

8:11было выведено Итак у нас было выведено

8:13ещё 9 11 и 13 15 уже не было выведено по

8:16той причине что у нас оно как бы не

8:18подпадает под условия я могу немного

8:20изменить условия сказать что до тех пор

8:22пока I будет меньше или равно значению

8:2515 у нас будет выполняться цикл и если я

8:27такое сейчас запущу то видите 15 тоже

8:29будет выводиться на экран по той причине

8:31что теперь условие позволяет это сделать

8:34Ну и циклы while они именно удобны тем

8:37что здесь можно просто прописать условие

8:39и пока это условие будет верным пока оно

8:42будет истинным то у нас и цикл будет

8:44работать вот предположим я могу создать

Бесконечный цикл

8:46здесь некую переменную из has Car Пускай

8:49она будет называться и дам ей значение

8:51True и по сути я могу просто указать Вот

8:53эту вот переменную и до тех пор пока эта

8:55переменная будет идти со значением True

8:57до тех пор у нас и будет выполняться сам

8:59этот код конкретно такой цикл я не

9:01Рекомендую вам запускать потому что он

9:03будет бесконечным циклом Ну и это может

9:08немножко поломать так сказать Ваш

9:09компьютер потому что он просто зависнет

9:10данный цикл яв является бесконечным по

9:13причине того что у нас вот это вот

9:16условие Оно всегда будет верным Мы

9:18никогда с вами не указываем для этой

9:19переменной другого значения А по этой

9:22причине у нас этот цикл он всегда будет

9:23верным Ну это называется как раз как

9:25бесконечный цикл поэтому такое Я не

9:27Рекомендую вам запускать а в то же время

9:30мы Давайте с вами сделаем нечто другое

9:32Мы всё-таки попытаемся реализовать этот

9:33цикл только как-то в более верном

9:35формате мы Давайте с вами Вот здесь

9:38будем получать от пользователя некую

9:40информацию и эту информацию Мы можем

9:42сразу же и проверять Если он напишет

9:45такое ключевое слово Как стоп то в таком

9:47случае мы будем обращаться к вот этой

9:49вот переменной из HC и будем

9:51устанавливать ей значение как false вот

9:53таким вот образом Теперь давайте мы это

9:55запустим вот у нас как бы идёт ожидание

9:58ввода е если я веду здесь что угодно но

10:01не слово стоп то в таком случае мы

10:02опять-таки будем ждать от пользователя

10:04информацию Давайте единственное здесь

10:06буду вводить ну здесь вернее выведу

10:09информацию некую Да потому что непонятно

10:10что вообще делать нужно Давайте здесь

10:12будет написано Enter Data что-то в этом

10:14духе и мы ещё раз это запустим вот

10:17теперь как-то там более Понятно Мы здесь

10:19можем ввести какие-либо данные потом

10:21опять-таки мы можем ещё раз вести эти

10:23данные и так будет до тех пор пока я не

10:25веду ключевое слово стоп как только вёл

10:26ключевое слово стоп Всё у нас это

10:29переменная она стала со значением fse мы

10:31вышли из этого цикла таким образом цикл

10:33while удобно использовать Когда нам

10:35нужно просто прописать условие и дальше

10:37выполнять определённый цикл цикл for

10:39удобно использовать в те моменты когда

10:41нам нужно что-то перебрать Когда нам

10:42нужно создать либо какой-то диапазон

10:44либо нужно что-то перебрать будь то это

10:46строка или же список списки будем чуть

10:49позже изучать с вами также мы Давайте

Операторы циклов

10:51изучим несколько операторов что можно

10:53использовать в циклах мы эти операторы

10:55сейчас будем изучать в цикле форм но

10:57также их можно будет в дальнейшем

10:58использовать в цикле while мы просто

11:00изучим их конкретно на цикле for для

11:03начала Давайте создадим некий цикл этот

11:06цикл он у нас будет идти в определённом

11:08диапазоне пускай от нуля до допустим

11:11десяти Не включительно но лучше наверное

11:13до одиннадцати и здесь каждый раз я

11:15просто буду выводить само значение вот

11:18этой вот нашей переменной если такое

11:20запустить мы получаем вполне ожидаемый

11:22результат от нуля У нас идёт до 10 не

11:24включительно Возможно даже Давайте

11:26скажем что от единицы до дети

11:28включительно вернее будет выводиться у

11:30нас теперь давайте рассмотрим Такой

11:31оператор как Брей за счёт этого

11:33оператора мы можем просто выходить из

11:36цикла вот предположим что я хочу выйти

11:38из цикла как только мы дойдём до числа

11:40пять Ну вот у меня есть такая вот идея

11:43для этого я прописываю здесь одно

11:44небольшое условие в этом условии я

11:46говорю что если у нас I будет ну либо

11:49равно пяти либо можем указать что оно

11:51там будет например больше либо равно

11:52пяти Ну мы можем тут любое условие уже

11:55указать так вот если я просто указываю

11:57что у нас I будет например Давайте равно

11:59ти то в таком случае мы будем

12:00использовать Такой оператор как Брей

12:03Брей он просто берёт и выходит из цикла

12:06если такое запустить то мы заметим с

12:08вами следующее у нас будет выведено 1 2

12:103 4 А вот пятёрка она уже не была

12:12выведена потому что мы как бы проверили

12:14с вами определённое условие у нас э

12:17получилось что вот сейчас текущий

12:18элемент - это пятёрка и мы полностью

12:20вышли из этого цикла Всё дальше у нас

12:22код не обрабатывал то есть брейк Он

12:25выходит из цикла помимо брейк существует

12:27ещё Такой оператор как contin в отличие

12:30от Break он не выходит из цикла а он

12:32просто пропускает одну определённую

12:34итерацию и Давайте вот мы его тоже здесь

12:37с вами пропишет предположим что я хочу

12:39сделать Я хочу проверить следующее что

12:42если при делении на два у нас число у

12:45нас остаток будет равен нулю то в таком

12:47случае я буду использовать Такой

12:48оператор как continue если я сейчас

12:50такое запущу у нас будут выведены

12:52исключительно нечётные числа и так

12:55произошло по той причине что когда мы с

12:56вами находим чётное число а находим мы

12:59его за счёт вот этой вот конструкции как

13:01только мы находим чётное число мы с вами

13:04пропускаем эту итерацию то есть брейк он

13:06бы полностью вышел из цикла а continue

13:09он просто пропустил эту итерацию То есть

13:11как только мы попали на continue у нас

13:12весь дальнейший код не обработал се а

13:14как бы с cont мы обратно перешли сюда и

13:16пошла следующая итерация по этой причине

13:19у меня здесь были выведены только один и

13:21три Все чётные числа они не были

13:23выведены Ну и напоследок мы Давайте

Поиск символа в строке

13:25разработаем одну небольшую программу для

13:27нахождения символа в определён строке мы

13:30такую программу уже делали но сейчас

13:31давайте сделаем её правильно для начала

13:34создаём некий цикл и перебираем такую

13:36строку как например Hello дальше здесь

13:38мы прописываем условие если мы найдём

13:40такой символ как L то в таком случае в

13:43переменную found мы будем устанавливать

13:44значение как True Если же мы не найдём

13:48такой символ то в таю то в таком случае

13:50я хочу в эту же переменную устанавливать

13:52значение например как false Также можно

13:55было бы создать эту переменную давайте

13:56мы её вверху лучше всё-таки создадим и

13:59началу не хочу я туда добавлять ни

14:01значение True ни значение fse и чтобы

14:03мне просто создать переменную и ничего в

14:05неё не добавлять можно указать значение

14:07NAN NAN - это как бы значение ничего да

14:10то есть мы как бы в переменную ничего не

14:12устанавливаем а чуть позже мы в эту

14:13переменную как раз и что-то будем

14:15устанавливать Ну и здесь мы Давайте

14:17просто в конце-то концов просто будем

14:19выводить саму эту переменную и посмотрим

14:22что же у нас получилось по логике вещей

14:24у нас здесь должно выводиться значение

14:26как True в то же время у нас выводится

14:29значение именно как false так происходит

14:31по той причине что на данный момент вот

14:33здесь у нас это условие срабатывает мы

14:35устанавливаем значение True но потом

14:37когда цикл завершается мы в эту

14:39переменную всё равно устанавливаем

14:40значение false и именно это значение оно

14:43и выводится чтобы нам это реализовать

14:45всё корректно мы здесь должны с вами

14:46сделать следующее мы просто сюда должны

14:48Дописать цикл вернее оператор Break за

14:51счёт этого оператора мы с вами как бы мы

14:53с вами как бы говорим что как только мы

14:55найдём нужный символ мы тут же Выходим

14:58из цикла а соответственно оператор els

15:00Он тоже Не сработает Если я сейчас такое

15:03запущу то вот мы замечаем что у нас

15:05здесь отображается значение True всё

15:07сработало корректно в то же время если я

15:09буду искать например на какой-то

15:10несуществующий несуществующий символ

15:12например букво R то в таком случае у нас

15:15будет выводиться значение false Вот

15:17теперь этот цикл он является корректным

15:20для нахождения именно определённого

15:22символа в строке Ну что же на этом наш

Заключительная часть

15:24урок Подошёл к концу в ходе этого урока

15:26мы с вами научились работать с циклами

15:28мы изучили такие циклы как for а также

15:30while ну и плюс мы изучили операторы что

15:33можно использовать внутри них это

15:34операторы continue а также оператор

15:36Break на этом У меня всё Надеюсь урок

15:38вам понравился Если так то не забывайте

15:40подписываться на канал и вступать в наши

15:42соцсети все ссылки на них будут в

15:44описании к этому видео У меня же на этом

15:46всё до скорых встреч пока

More from Школа itProger / Программирование

Recently added transcripts

Browse the whole transcript library

This transcript was generated from the captions YouTube publishes for this video. Get the transcript of any YouTube video atfreeyoutubetranscribe.com, free, unlimited, no sign-up.