1) Плейлист этого курса вот здесь: czcams.com/play/PLAma_mKffTOSY12JZS6l8lxKCpooPVcrn.html 2) Не обязательно использовать Jupyter Notebook. Можно использовать любую другую IDE, например PyCharm - www.jetbrains.com/ru-ru/pycharm/ Telegram: t.me/alishev_g Курс по GIT: www.udemy.com/course/git-alishev/?referralCode=71994763964B8E2E6A4E
спасибо тебе огромное за твои уроки !!!! ТЫ ЛУЧШИЙ !!! жду с нетерпением новых уроков по питону!!! Так же очень интересно было бы посмотреть серию видео: 1. Python+PyGame для начинающих, 2. Python + OpenGl 3. Python + Kivy смотрел бы с удовольствием!!!!
Все очень доступно рассказываешь. Хотелось бы на этапе обучения узнать больше примеров применения пройденного материала. Вот например, какие еще задачи существуют, решение которых требует использование вложенных циклов?
Наиль, как же ты хорошо умеешь доносить мысль. Я гуманитарий, мне пока тяжело даётся изучение языка, но в тот момент, когда ты объясняешь материал в этом курсе, у меня в голове будто бьёт поток кристально чистой и прохладной воды. Мне настолько ясно то, о чём ты говоришь, что не хочется выключать видео и возвращаться к своему "внутреннему процессору", который пока ещё, увы, работает сбивчиво. У тебя талант настоящего педагога. Тебя хочется слушать, перенимать твой образ мышления, учиться твоей лёгкости, ёмкости и доходчивости. Очень тебя прошу, не забрасывай этот курс и свой канал. Такие как ты - на вес золота. После курса Пайтона я хочу посмотреть видео по остальным темам, просто потому, что знаю, что они будут изложены так же понятно и интересно. А знания за плечами не носить. Выражаю тебе большую благодарность за твой труд, внимание к свои зрителям, терпеливость в подробных объяснениях своих действий и за многое-многое другое. И ещё раз попрошу - не забрасывай канал. И подскажи, пожалуйста, куда тебе можно задонанить, или как-то отблагодарить тебя за твою деятельность на ютубе.
Thank you! names = ["Mike", "Tom", "Alex"] for i in range(len(names)): # 0, 1, 2 the same as range(0, 3) or range(3) for j in range(i + 1): # 1) i = 0, j = (0) Name with index 0 will be printed 1 time print(names[i]) # 2) i = 1, j = (0, 1) Name with index 1 will be printed 2 times print(len(names)) # 3) i = 2, j = (0, 1, 2) loop j will execute three times
Наиль, извини за простоту изложения мысли, но я правильно понял, что кол-во повторений внутреннего цикла, влияет на кол-во повторений вызова print'a (если конкретно, то print (names [i] ) ? :) То есть, из за того что внутренний цикл вынужден, к примеру, два раза итерироваться, print вынужден вызываться такое же количество раз (два раза) ?
Здравствуйте ! По правьте меня, если ошибаюсь. Вы сказали: " ....нужно узнать индекс того элемента..." и была реализована задача, но это ведь не индекс, а порядковый номер в списке. Как вы считаете? Спасибо за уроки.
Спасибо! Еще раз хочу за домашки поблагодарить. на прошлом уроке впервые пришлось сначала в ответы заглянуть, по памяти перенести ответ к себе, подумать, и только после этого понял как это работает (проход по списку в обратную сторону). за то как в шутке "сначала не понял, а потом КАК ПОНЯЛ!.." Все же когда пишешь своими руками - многое становится более понятным. А готовый ответ на дз помогает разобраться, если не понял изначально) P.S. Единственное что не до конца понял - почему диапазон у вас в ответе был указан от последнего значения до -1 (range(len(list)-1,-1,-1)). Индекс первого элемента 0 а последнего -1. Получается у вас диапазон закольцован? Я написал у себя range(len(list)-1,0,-1) - результат не изменился. Имеет ли значение это?
диапазон был указан до -1, потому что он как раз обратный. В функции range 3 аргумента - старт, стоп и шаг. Стоп-аргумент в функции range не включается в сам диапазон. Соответственно мы идем справа налево: от значения равного длине диапазона за минусом последнего элемента (len(list) -1)) - это старт, каждый раз минусуя 1 (третий аргумент в range "-1" - это шаг), и мы должны дойти до значения 0 (стоп). Но если мы напишем 0, то он не включится в функцию, а нам нужно, чтобы элемент с индексом 0 был включен и на нем функция отработала тоже. Соответственно, нужно указать не 0, а "-1". я так поняла это)
А результат не изменился, потому что функция не дошла до конца диапазона, она ведь выполнила брейк. Попробуйте сделать без брейка - по идее на элементе с индексом 0 функция не сработает.
Спасибо за урок. Вроде бы понятно. Но я не поняла почему количество слов с каждым разом увеличивается. В какой строчке это обозначается. По моей логике код должен вывести первое слово 5 раз, а последнее 1, так как цикл повторяет 5 раз первое слово. Ну запомню как есть пока.
Цикл for останавливается на вложенном цикле и этот вложенный цикл повторяется столько раз сколько указано в range(i+1). То есть, если range(2+1) к примеру будет, то вложенный цикл повторится 3 раза и соответственно оператор print(names[i]) выполнится 3 раза.
да, в домашке к прошлому уроку как раз это делали. за индекс элемента списка берем последовательность от длинны списка до нуля с шагом -1: range(len(list1-1,0,-1))
Спасибо большое за уроки. У меня вопрос: если у меня получается решать задачи, но при этом я понимаю что ничего не понял, стоит ли идти дальше, а потом вернуться назад? и если уроки легкие как я читаю в комментах, но они мне даются очень трудно, я последние 3 урока, каждые из них прохожу наверное по 2 часа, а дальше естественно тяжелее будет, то стоит ли вообще продолжать заниматься? Дело не в том, что я сдаюсь, просто хочу понять, если я сейчас так тяжело все впитываю, что будет когда там уже совсем серьезные будут моменты. Чисто на желании, я смогу вытянуть это все? А желание сильное.
Сначала не мог понять, почему Наиль в комментариях инкрементировал переменную i, а переменная j была равна нулю. Только щас дошло, что каждый раз завершая внутренний цикл переменная j сбрасывалась до нуля. Я ведь правильно понял?
@user-tv7lg4uy4m 0 секунд назад Попробую по-своему объяснить логику работы внутреннего цикла. Немного упростим для восприятия синтаксис написания "for j in range (i+1)" и запишем это как "for j in range (0, i+1)". Теперь переведем на человеческий язык: Для "j", т.е. для каждого элемента из диапазона от 0 до i+1 (где "i+1" указывает на индекс текущего элемента внешнего списка "names") нужно выводить "names[i]" - текущий элемент внешнего списка names". Например, диапазон от 0 до 5 состоит из элементов 0,1,2,3,4 и вот для каждого из них и выводится "names[i]" , т.е. в данном случае 5 раз.
1) Плейлист этого курса вот здесь: czcams.com/play/PLAma_mKffTOSY12JZS6l8lxKCpooPVcrn.html
2) Не обязательно использовать Jupyter Notebook. Можно использовать любую другую IDE, например PyCharm - www.jetbrains.com/ru-ru/pycharm/
Telegram: t.me/alishev_g
Курс по GIT: www.udemy.com/course/git-alishev/?referralCode=71994763964B8E2E6A4E
спасибо тебе огромное за твои уроки !!!! ТЫ ЛУЧШИЙ !!! жду с нетерпением новых уроков по питону!!! Так же очень интересно было бы посмотреть серию видео:
1. Python+PyGame для начинающих,
2. Python + OpenGl
3. Python + Kivy
смотрел бы с удовольствием!!!!
Круто! Просто супер! Жду больше уроков!
Круто! Продолжаю закреплять знания по вашим урокам! Спасибо за задачки.
Благодаря Вам поняла, как работают внутренние циклы! Спасибо))
Отлично! Очень подробно и понятно обьясняете. Спасибо большое =)
Огромное спасибо за разбор цикла range с комментариями. Очень помогли разобраться
Мне понравилось. Поняла про вложенные циклы. Спасибо.
Спасибо за курс. Понятно и доходчиво.
очень доходчива и не спеша как раз что я искал. Спасибо
Спасибо большое долго ждал уроки но всё реже выкладываете. Хотелось бы чаще выкладывали уроки дай Аллах вам здоровья и долгих лет жизни.
Мне показалось что ты говоришь "Спасибо большое я буду спонсировать твой канал"
я съел алаха
Ну наконец-то!!
Огромное спасибо! =))
Все очень доступно рассказываешь. Хотелось бы на этапе обучения узнать больше примеров применения пройденного материала. Вот например, какие еще задачи существуют, решение которых требует использование вложенных циклов?
большое спасибо за урок
Спасибо!
Наиль, как же ты хорошо умеешь доносить мысль. Я гуманитарий, мне пока тяжело даётся изучение языка, но в тот момент, когда ты объясняешь материал в этом курсе, у меня в голове будто бьёт поток кристально чистой и прохладной воды. Мне настолько ясно то, о чём ты говоришь, что не хочется выключать видео и возвращаться к своему "внутреннему процессору", который пока ещё, увы, работает сбивчиво.
У тебя талант настоящего педагога. Тебя хочется слушать, перенимать твой образ мышления, учиться твоей лёгкости, ёмкости и доходчивости. Очень тебя прошу, не забрасывай этот курс и свой канал. Такие как ты - на вес золота. После курса Пайтона я хочу посмотреть видео по остальным темам, просто потому, что знаю, что они будут изложены так же понятно и интересно. А знания за плечами не носить.
Выражаю тебе большую благодарность за твой труд, внимание к свои зрителям, терпеливость в подробных объяснениях своих действий и за многое-многое другое. И ещё раз попрошу - не забрасывай канал. И подскажи, пожалуйста, куда тебе можно задонанить, или как-то отблагодарить тебя за твою деятельность на ютубе.
Спасибо большое за такие слова, Дмитрий!
Очень рад, что мои уроки вам полезны :)
Благо дарю
Спасибо, о великий сенсей
Потратил час, чтобы понять последний цикл, даже на бумагу переписал, но всё-таки понял))
спасибо за идею, сделал тоже так же и сразу все встало на места
@@user-on8zn2kk8s да не за что)
спасибо
Thank you!
names = ["Mike", "Tom", "Alex"]
for i in range(len(names)): # 0, 1, 2 the same as range(0, 3) or range(3)
for j in range(i + 1): # 1) i = 0, j = (0) Name with index 0 will be printed 1 time
print(names[i]) # 2) i = 1, j = (0, 1) Name with index 1 will be printed 2 times
print(len(names)) # 3) i = 2, j = (0, 1, 2) loop j will execute three times
Наиль, извини за простоту изложения мысли, но я правильно понял, что кол-во повторений внутреннего цикла, влияет на кол-во повторений вызова print'a (если конкретно, то print (names [i] ) ? :)
То есть, из за того что внутренний цикл вынужден, к примеру, два раза итерироваться, print вынужден вызываться такое же количество раз (два раза) ?
Hey, brother. Thank you for your wonderful lessons. And when do you want to release your new lessons?? We are waiting!
👍
words = ['apple', 'banana', 'stop', 'goodbye']
for i in words:
if i == str('stop'):
break
print(i)
Какую книгу посоветуете прочитать
смотря на статистику просмотров, с каждым роликом все меньше и меньше просмотров, видимо люди часто не понимают ...
Здравствуйте ! По правьте меня, если ошибаюсь. Вы сказали: " ....нужно узнать индекс того элемента..." и была реализована задача, но это ведь не индекс, а порядковый номер в списке. Как вы считаете? Спасибо за уроки.
и ещё там можно было: for i in range(0 :)
Спасибо!
Еще раз хочу за домашки поблагодарить. на прошлом уроке впервые пришлось сначала в ответы заглянуть, по памяти перенести ответ к себе, подумать, и только после этого понял как это работает (проход по списку в обратную сторону). за то как в шутке "сначала не понял, а потом КАК ПОНЯЛ!.."
Все же когда пишешь своими руками - многое становится более понятным. А готовый ответ на дз помогает разобраться, если не понял изначально)
P.S.
Единственное что не до конца понял - почему диапазон у вас в ответе был указан от последнего значения до -1 (range(len(list)-1,-1,-1)). Индекс первого элемента 0 а последнего -1. Получается у вас диапазон закольцован? Я написал у себя range(len(list)-1,0,-1) - результат не изменился. Имеет ли значение это?
диапазон был указан до -1, потому что он как раз обратный. В функции range 3 аргумента - старт, стоп и шаг. Стоп-аргумент в функции range не включается в сам диапазон. Соответственно мы идем справа налево: от значения равного длине диапазона за минусом последнего элемента (len(list) -1)) - это старт, каждый раз минусуя 1 (третий аргумент в range "-1" - это шаг), и мы должны дойти до значения 0 (стоп). Но если мы напишем 0, то он не включится в функцию, а нам нужно, чтобы элемент с индексом 0 был включен и на нем функция отработала тоже. Соответственно, нужно указать не 0, а "-1". я так поняла это)
А результат не изменился, потому что функция не дошла до конца диапазона, она ведь выполнила брейк. Попробуйте сделать без брейка - по идее на элементе с индексом 0 функция не сработает.
@@user-kr9mh8zc2w Понял. Спасибо! :)
В ответах на домашку к прошлому видео использовал метод из этого видео..
метод более громоздкий и не нужный для решения той домашки =)
эх, некоторые вещи начинаешь понимать только после лютого упрощения..
for i in range(0, 4):
# i = 0, j = 0
# i = 1, j = 0, 1
# i = 2, j = 0, 1, 2
for j in range(0, i+1):
Спасибо за урок. Вроде бы понятно. Но я не поняла почему количество слов с каждым разом увеличивается. В какой строчке это обозначается. По моей логике код должен вывести первое слово 5 раз, а последнее 1, так как цикл повторяет 5 раз первое слово. Ну запомню как есть пока.
у меня такая же мысль.
Цикл for останавливается на вложенном цикле и этот вложенный цикл повторяется столько раз сколько указано в range(i+1). То есть, если range(2+1) к примеру будет, то вложенный цикл повторится 3 раза и соответственно оператор print(names[i]) выполнится 3 раза.
@@vetenskap1573 спасибо)
Я скачала Komodo Edit, когда хочу запустить, либо не реагирует кнопка, либо пишет, что нет интерпретатора. Что делать?
Ох уж эти циклы... Мозги мне вынесли знатно в свое время...
Один я не понял зачем на j ? и почему повторяется по несколько раз ? Что то мне не понятно
Потому что по алфавиту он идёт
А можно ли в Питоне цикл "развернуть" , проходя от последнего элемента в массиве к первому?
да, в домашке к прошлому уроку как раз это делали. за индекс элемента списка берем последовательность от длинны списка до нуля с шагом -1: range(len(list1-1,0,-1))
@@Strannick89 Да, спасибо! Как раз уже разобрался )
reverse(my_list)
Вообщем вложенные циклы в питоне эта та еще головная боль) Вот вам и простой в изучении язык))
Спасибо большое за уроки. У меня вопрос: если у меня получается решать задачи, но при этом я понимаю что ничего не понял, стоит ли идти дальше, а потом вернуться назад? и если уроки легкие как я читаю в комментах, но они мне даются очень трудно, я последние 3 урока, каждые из них прохожу наверное по 2 часа, а дальше естественно тяжелее будет, то стоит ли вообще продолжать заниматься? Дело не в том, что я сдаюсь, просто хочу понять, если я сейчас так тяжело все впитываю, что будет когда там уже совсем серьезные будут моменты. Чисто на желании, я смогу вытянуть это все? А желание сильное.
Стоит.
ну и как успехи?)
@@user-wb4nn7nl3z отлично. Все зависит от настойчивости.
опишите прогресс за эти 3 года
почему не написал str() ? range(i+str(1)) ??? вроде там строку сложил на цифр
Может кто нибудь подсказать, почему при конкатенации слипаются слова ? Не могу понять причину, вроде пробелы стоят.
Пробел должен быть внутри кавычек
@@alishevN спасибо огромное)
Сначала не мог понять, почему Наиль в комментариях инкрементировал переменную i, а переменная j была равна нулю. Только щас дошло, что каждый раз завершая внутренний цикл переменная j сбрасывалась до нуля. Я ведь правильно понял?
Да
А можно видео как собрать apk под винду без виртуальной машины и бульдозера?
без меня никуда
Что то у меня не сходится, при i=2, будет j in range(0,3), что соответственно j имеет значения 0, 1, 2, 3 и в итоге 4 раза!
нет, j будет принимать значения 0, 1, 2.
3 не включается в range().
а как реализовать цикл типа for(i=0; i
i = 0
while i
Последний пример сложен для понимания.
п.э. и вводят в нормальных языках нормальный синтаксис for, чтобы не парится с range
5:00
Вот как я решил, сейчас буду смотреть решение
list1=["Mike", "David"]
x=2
for i in range(len(list1)):
print (list1[i]*x)
x+=1
А, понял
@user-tv7lg4uy4m
0 секунд назад
Попробую по-своему объяснить логику работы внутреннего цикла.
Немного упростим для восприятия синтаксис написания "for j in range (i+1)" и запишем это как "for j in range (0, i+1)".
Теперь переведем на человеческий язык:
Для "j", т.е. для каждого элемента из диапазона от 0 до i+1 (где "i+1" указывает на индекс текущего элемента внешнего списка "names") нужно выводить "names[i]" - текущий элемент внешнего списка names".
Например, диапазон от 0 до 5 состоит из элементов 0,1,2,3,4 и вот для каждого из них и выводится "names[i]" , т.е. в данном случае 5 раз.
А задачки(
Спасибо!