Вот я честно не понимаю, на сколько нужно быть правильным человеком и учебным заведением, что бы такую информацию выкладывать бесплатно и в таком качестве. Большое спасибо вам за работу, от всего интернет сообщества России. Думаю я не преувеличил. Большая, полезная, великолепная работа для развития всей страны.
@rio51213 жыл бұрын
Это современный взгляд, испорченный капитализмом. При союзе образование было бесплатным.
@vanadoo58363 жыл бұрын
Поддерживаю!
@quddi3 жыл бұрын
@@rio5121 если вспомнить все, что было при нем, то лучше уж так, как сейчас
@ivanprokofyev3 жыл бұрын
@@quddi, если бы еще знать хоть что-то о "нем".
@ivanprokofyev3 жыл бұрын
Сильно преувеличиваешь, похоже, что в силу идеалистических представлений об окружающем мире и в силу того, что "слаще морковки" ничего не пробовал, т.е. не знаешь, что такое образование, которое направлено на подготовку специалистов, а не на штамповку компетентных потребителей. Какую такую информацию, в каком качестве? Сплошное самолюбование автора и ни дидактики, ни методики, ничего-то особенного. Современное образование, это заигрывание с УО, с набалованными детишками, это снижение требований и сложности для того, чтобы набрать необходимое количество молодых балбесов для з/п преподов ну и немного или много в карман положить. Это не про образование все, это все про профанацию и свободный рынок.
@iritaka4 жыл бұрын
Тайм-коды: Массивы, тип list 1:30 Список (list) как массив данных. Массив - такой способ доступа к данным, когда есть 1 имя и сразу много данных 4:15 for x in A: 8:18 модель данных в Python. Как хранятся данные. Есть изменяемые и неизменяемые типы (объекты) 9:05 числа являются константами. Неизменяемый тип 9:52 ссылочная модель связи имени и объекта 13:30 доступ к элементу массива по индексу. У первого элемента - индекс 0. Поэлементный доступ к массиву 17:31 А = [0] * 1000 # создание массива А с тысячью нулей 19:08 уровень заполненности массива. Top 25:42 удаление элемента из конца и начала массива 27:12 копирование массива. поэлементное копирование. копирование задом-наперёд 29:58 хотя имена а Питоне создаются методом присваивания в них, нельзя сделать С = А, чтобы сделать копию списка 30:36 ссылочная модель данных в Python 32:46 изменяемость списка. list - изменяемый объект 33:34 int неизменяемый объект. Число по ссылке изменить нельзя 35:40 C = list(A) # чтобы сделать дубликат списка. копию 36:20 линейный поиск в массиве 36:52 в параметрах функции можно уточнить тип параметра (после двоеточия) 39:22 тестирование 47:16 функция с pass возвращает None type (тип Ничего) - специфическая переменная 49:19 алгоритм обращения массива 1:03:03 добавление элемента в конец и в начало массива 1:04:06 алгоритм циклического сдвига в массиве. влево 1:08:55 вправо 1:10:40 алгоритм решето Эратосфена 1:12:24 bool неизменяемый тип 1:13:38 if A[k] # если A[k] равен True 1:17:18 тернарный оператор
@cracoh4 жыл бұрын
спасибо вам!
@igoweiqibaduk82833 жыл бұрын
Иритака, ты очень очень очень хороший человек! Твои таймкоды круче яндекса и гугла вместе взятых!
@iritaka3 жыл бұрын
@@igoweiqibaduk8283 Ну Очень приятно! Спасибо огромное!!
@ivanprokofyev3 жыл бұрын
Массив, это не способ доступа, а структура данных. Под способом доступа можно понимать тот или иной конкретный синтаксис или работу интерпретатора.
@iritaka3 жыл бұрын
@@ivanprokofyev хорошее замечание
@YellowNoski5 жыл бұрын
Вот это я понимаю - класс! Человек просто взял и на примере кнопок в лифте и наименовании этажей во Франции идеально объяснил логичность индексации с 0. Браво!
@evheniihoroshko11613 жыл бұрын
Здоровья вам Тимофей Хирьянов. Как хорошо что я нашел ваш канал. Читать статьи разные что такое стр инт и т.д. Окей базовые понятие , а тогда думаешь а чего же дальше начать, думал нужно учить синтаксисы ,а они оказываются непостоянны и меняются. То что вы раскладывание по полочкам облегчает мне и другим жизнь Я люблю чтобы всё было от и до и с рассказано почему так ( по каким правилам ) А не то что в интернете говорят общие понятия - что должно быть так и никак иначе А потом у меня другие вопросы и ищешь в интернете на свой же вопрос ответ.
@Леонид-с5з4 жыл бұрын
- Список как массив данных (1:24): - Перебор списка по порядку (просто вывод элементов без возможности изменения их в списке): 4:04 - Модель данных в Питоне (как получить доступ к самим объектам в списке и манипулировать ими): 7:48 - Как создавать длинные списки (которые проблематично создавать вручную): 17:27 - Добавление элементов в список с помощью цикла while: 18:58 - Вывод чисел из списка в обратном порядки с помощью цикла for: 23:54 - Удаление элементов из списка: 25:42 - Копирование массива: 27:08 - Сокращенный вариант копирования списка через list: 35:40 - Линейный поиск в массиве: 36:13 - Написание функции тестирования: 39:43 - Алгоритм обращения массива: 49:12 - Добавление эл. в конец и в начало массива: 1:03:03 - Алгоритм циклического сдвига: 1:03:47 - Решето Эратосфена: 1:10:40
@Andrei-de6mf3 жыл бұрын
И? Это любой студент знает?
@МихаилЛелюхин5 жыл бұрын
Такие знания . Бесплатно . Бескорыстно . Настоящий русский Учёный .
@Berseny4 жыл бұрын
Знания бесплатно и бескорыстно -- это про коммунистов, а не про ррррусских. Ведь какой-нибудь буржуй, наживающийся на интеллектуальной собственности, не перестает от этого быть ррррусским буржуем. Верно? Правильно сформулировать: прогрессивный ученый левых взглядов (даже если он сам лепит чушь про какую-то нравственность в лагере праваков). По поступкам товарищ вполне себе марксист. =))
@beria_4 жыл бұрын
@@Berseny у тебя шлак в голове
@Berseny4 жыл бұрын
@@beria_ Да неужели? А у тебя точно шлака в башке нет? А? Уверен? =) Наивный человечишко. =)
@Berseny4 жыл бұрын
@@Русь-Родина А пока с чужого канала, это не бескорыстно? Нет, ну если ему заплатил кто-то за съемку уроков... Ну хз. Здесь бескорыстность не в том, что человек ничего не получил за свой труд педагога, это был бы альтруизм. Бескорыстие в том, что всеми знаниями вправе воспользоваться всякий человек. Интеллектуальная собственность -- зло!
@Berseny4 жыл бұрын
@@Русь-Родина Являясь достоянием всего человечества, это уже не интеллектуальная собственность, а общечеловеческое богатство. Я имел в виду, конечно же, частную собственность на знания, ну или собственность корпоративную. Ну когда остальные обязаны платить и покупать каждый раз, когда им необходимо, а у продавцов от этого не убывает. Уродливая система капитала, античеловеческая. Сделали из знаний подобие валюты, которая призвана приумножать их капиталы. Причем авторы к этим продажам зачастую не имеют никакого отношения. Они трудились на корпорацию, вот она и присвоила все их наработки. А человек просто раб, получил зарплату и всё! Никакой интеллектуальной ренты, хрен в зубы, и грызи. =) В общем, паразитическая система.
@ждувесну3 жыл бұрын
За такое преподавание педагоги должны получать большую зарплату и входить в селебрити) давно пора записывать и выкладывать лекции, чтобы отсеять и поувольнять тех, кто бубнит себе под нос, путается в показаниях и кого тоска зеленая слушать) спасибо за увлеченность и добросовестность
@elliottroot5134 жыл бұрын
Я Вас очень сильно уважаю. Словами не передать как я счастлив смотреть Ваши лекции
@Dimonitos5 жыл бұрын
Хорошие емкие лекции. Спасибо за материал. Было бы гораздо удобнее если в названии будет тема лекции! Например: "Алгоритмы на Python 3. Лекция №5 (Массивы)"
@CurlyBeaver4 жыл бұрын
То чувство, когда в бесплатных лекциях на youtube человек объясняет проще и понятнее, чем в купленных мной платных онлайн-курсах за 30к... Жаль, что нельзя пожать руку, очень талантливый преподаватель!
@Mishanya002 жыл бұрын
Ну так это не просто человек, а преподаватель МФТИ, квалифицированнее некоторых преподов курсов будет
@ИсмоилХакимов-р8щ Жыл бұрын
с курсами за 150к тоже самое... у меня столько стоит
@elenam4339 Жыл бұрын
зачем сравнивать университетское образование и онлайн-курсы ))
@iml4046 ай бұрын
еще бы изначально учил правильно переменные называть - цены бы не было. А то лист с именем A и элементы с именем x это фигня полная, за такое на реальных проектах больно бьют по шапке. С заглавной буквы вообще принято называть классы
@kurchiparchiАй бұрын
Тимофей Федорович, низкий Вам поклон за ёмкую и познавательную лекцию!
@True_Ulatim5 жыл бұрын
Вы великолепный преподаватель. Смотрю все ваши лекции с превеликим удовольствием и на 6-й лекции могу с уверенностью сказать, что именно этого мне не хватало при кодировании. Я уже пишу на питоне телеграмм ботов и работаю с БД но это все занимало очень много времени так как не всегда было достаточно понимания как это работает. Все конечно же гуглилось но до конца понять, что то все-таки не мог.
Спасибо Вам за уроки! Пусть ваша деятельность будет всегда успешной, доброго счастья вам, крепкого здоровья и уважения.
@АнтонВладимирович-ъ8ы5 жыл бұрын
Спасибо Вам за уроки! Замечательная подача материала!!!
@volodimirbatalov74424 жыл бұрын
мозга кипит, но мне нравится, спасибо Тимофею большое... много вещей, подробно, наглядно, даже вопросов не возникает...
@sergejkaznov26774 жыл бұрын
НАСТОЛЬКО ПРОСТЫМ ЯЗЫКОМ И ТАК ИНТЕРЕСНО УВЛЕКАТЕЛЬНО ПОБОЛЬШЕ БЫ ТАКИХ УЧИТЕЛЕЙ 👍👍👍☝️👍👍👍
@patrickspilmann50083 жыл бұрын
Тимофей, БРАВО! СПАСИБО! Вы ЛУЧШИЙ преподаватель!!!!
@alexmak83055 жыл бұрын
за "шо це таке" на 58:18- отдельный лайк!!!)
@andreyvbvbvb5 жыл бұрын
На секунды две поздно напсал
@mihakgma4 жыл бұрын
не уразумив ы не побачив) шо це такэ?)
@sanjarkenjayev73683 жыл бұрын
а что такое шо це текэ ? из Мариуполя препод
@Kostya_kzn5 жыл бұрын
Правильно говорят: "Если преподаватель не может объяснить 6 летнему ребенку, то он сам не разбирается в предмете!". Лекции просто чудо!!! В четко, ясно и понятно.
@rinatsarmuldin81184 жыл бұрын
Талант и интелект вот это человек с большой буквы!
@MarkNikita12 жыл бұрын
Огромное спасибо за уроки! Вместе с вами учиться намного приятнее и легче)
@RuslanZinovyev4 жыл бұрын
Решето Эратосфена гениально расписан на Пайтоне, просто красота, так круто когда на память на доске можешь его написать.
@shaykhinurov Жыл бұрын
Так, эту лекцию посмотрел, теперь не запутаться, в следующий раз смотреть следующую.
@aezakmi508725 жыл бұрын
Спасибо за лекции . Очень познавательный матерьял . Мне как программисту .Вы оказали огромную помощь .
@ZlataDobrovolny3 жыл бұрын
Это гениально! Блокбастер по программированию!
@gornakovs2 жыл бұрын
Спасибо тебе Добрый человек за эти лекции
@mariyaalberdina99172 жыл бұрын
Очень здорово! Обучение это очень важно, хорошо что вы есть и так хорошо делаете свою работу!
@shadedeveloping47054 жыл бұрын
Преподаватель: "Лабы пропускать нельзя" Я за компом: ....
@yevhenukrainianer47816 жыл бұрын
Тернарный особо порадовал. Спс за лекцию.
@anatoliiljin68702 жыл бұрын
Спасибо! Вы самый лучший преподаватель!
@konstantinselivanov85133 жыл бұрын
Тимофей, вы лучший! Спасибо!
@Qwerty-fn3rf5 жыл бұрын
препод от бога
@konst20872 жыл бұрын
пользуясь несколько лет срезами на уровне рутины я даже и не выдумывался в такие нужные вещи
@yesugibe70415 жыл бұрын
Спасибо за материал и отличную подачу!
@AnastasiaKorosteleva_SPb5 жыл бұрын
лектор очень душевный!
@_pheax4 жыл бұрын
спасибо, Тимофей Фёдорович
@ЕкатеринаАндреева-ц3ю3э2 жыл бұрын
Вообще интересное объяснение логичности индексации с нуля. Забавное. Строго говоря во Франции нет нулевых этажей (хотя кнопка ноль в лифте присутствует). Первый этаж в нашем понимании по французски это Rez-de-chaussée произносится что-то вроде Редшосэ и переводится как «рядом с дорогой из известняка» или «на уровне дороги из известняка». Я так понимаю по нашему это земляной пол :). Даже в лохматой древности у нас не было в традиции строить дома с земляным полом, климат не тот. :) Поэтому вероятно у нас всё начинается с первого этажа, а не с нулевого.
@АлексАлексов-ф4о4 жыл бұрын
Лекции класс не возможно уснуть , подписался..
@maratgabitov3 жыл бұрын
23:07 Всё понятно, топ лекция, продолжайте) (молчание - это глубокая заинтересованность)
@СтепанБендеров4 жыл бұрын
58,11 B = [1, 2, 3, 4, 5] C = [ ] for k in range (len(B)-1,-1,-1): C += [B[k]] for k in range (len(C)): B[k] = C[k]
@vitalikos20105 жыл бұрын
Последние 8 минут видео сделали мой день...
@НиктоНиктоев-щ7ю5 жыл бұрын
Тимофей Федорович, спасибо Вам большое за публикации своих курсов на ютубе! У меня возникло одно замечание, я его выскажу, не сочтите за неуважение. Я как будто заметил, что некоторые вещи людям непонятны, на первом курсе у студента ветер в голове) да и мне тоже иногда трудно) вот к примеру эти списки, а зачем они вообще нужны? А если непонятно зачем этот инструмент нужен, трудно в нем разобраться. Не лучше ли подавать материал с практической точки зрения? т.е. вот к примеру есть задача с помощью питона проанализировать введеные данные к примеру значения температуры (или я не знаю что еще))), и вот для этого можно применить такую вещь как списки, и вот так-то они устроены и т.д. или же еще на первой лекции можно было поставить задачу написать примитивный калькулятор, и параллельно объяснить все базовые вещи. ну как то так, спасибо)
@Lexfr0mkhar5 жыл бұрын
Приятно слушать и созерцать!
@userr191943 жыл бұрын
*в конце лекции как всегда "отжигаете"))*
@tkhirianov3 жыл бұрын
Заинтриговали. Не понял на какой именно минуте и что именно вы имеете в виду.
@userr191943 жыл бұрын
Для начала, раз Вы мне ответили, хочу поблагодарить Вас за эти лекции. Очень интересно и доступно объясняете. Занимаюсь с удовольствием. А насчёт "отжигаете", я имел ввиду, что в конце лекций Вы часто в сжатые сроки объясняете сложные моменты :) И благо, я могу перемотать, посмотреть и обдумать несколько раз. На живой лекции я бы такой роскошью не обладал :)
@BoldBass244 жыл бұрын
Комментарий в поддержку контента.
@vaal55004 жыл бұрын
Спасибо за прекрасную лекцию)
@alekseytrump15863 жыл бұрын
Спасибо за лекции. Лучшие!!!
@ntvisigoth2 жыл бұрын
1:18:46: Тернарный оператор рекомендую попробовать так: (alternative_false, alternative_true)[your_check] Пример: ('Number is prime', 'Number is complex')[is_number_prime(number)] Это связано с тем, что True, False преобразуются в цифры 0 и 1, а их можно использовать в качестве индекса. Сравним эту и тернарную форму: 1. ('Number is complex', 'Number is prime')[is_number_prime(number)] 2. 'Number is prime' if [is_number_prime(number)] else 'Number is prime' Возможно, дело вкуса. Но мой вариант, мне кажется, выглядит привлекательнее
@dmitrijloskutnikov6942 жыл бұрын
48:50 Гениально. 1:00:51 Я это ивертирование мучил за пару дней до просмотра видео. И прошёл по всем граблям, что тут показаны.
@Siren4766 жыл бұрын
Ну почему понимаешь, что надо было учиться, когда тебе уже сороковой десяток идёт? Сейчас бы с удовольствием сидела бы среди этих студентов..
@ДенисКатанугин-ц2е6 жыл бұрын
Сороковой десяток или все таки четвёртый?
@Siren4766 жыл бұрын
Денис Катанугин Да, долго я необразованная живу)
@danalexpiano6 жыл бұрын
Stacy Miller не надо вам в программисты ))))))
@фокусмокус-я2з6 жыл бұрын
)
@b.g.51065 жыл бұрын
@@danalexpiano программисты не люди))))
@ruslanways2 жыл бұрын
16:00 с версии Python 3 - PEP рекомендует использовать enumerate, если хотим получать индексы.
@memprus5 жыл бұрын
Во втором гуманитарном корпусе МГУ, где сидит факультет ВМиК 9Вычислительная Математика и Кибернетика), лифт от 0 до 7)))
@777richok3 жыл бұрын
В лектории очень тихо, потому что лекция увлекательная!
@rustam.turaev4 жыл бұрын
Спасибо, продолжаю изучение с удовольствием)
@PodsasBoosty5 жыл бұрын
21:10 Тишина, понятно да? да! значит ничего не понятно)
@BeginBye6 жыл бұрын
1:02:27 к N//2 в range нужно еще прибавить единицу, иначе итераций цикла будет недостаточно для достижения середины заданного участка списка. Ну и в конце еще нужно дописать, чтО функция будет возвращать, согласно поставленной задаче - фрагмент обращенного списка, определенного числом N. Таким образом, законченное решение будет следующим: for k in range(N//2 + 1): A[k], A[N-1-k] = A[N-1-k], A[k] return A[:N] А вообще - решение классное. Спасибо, Тимофей Федорович! Я, пока смотрел, поставил на паузу и решил задачу двумя способами: 1. используя метод .reverse(), и применив его к нужному фрагменту списка, определенного числом N: fragment = A[0:N] fragment.reverse() return fragment 2. создавая пустой список и наполняя его в цикле с помощью .append(), инициировав обратный счет от N-1 до -1: reversed_list = [] for i in range(N-1, -1, -1): reversed_list.append(A[i]) return reversed_list Ваш метод был не очевидным, и по этой причине - классным и ценным! Спасибо!!!
@denyslozinskyi73226 жыл бұрын
Evgeniy Cheremisinov относительно возвращения списка функцией ваше утверждение справедливо только в том случае, если в результате ее работы нас будет интересовать ВЕСЬ обращённый список. Но задача ведь стоит иная: "Обращение массива в рамках индексов от 0 до N-1", т.е. не весь массив, а его часть, отмеченная N. Поскольку N не обязательно будет совпадать с последним индексом списка, возврат участка имеет смысл.
@BeginBye6 жыл бұрын
Evgeniy Cheremisinov да, просчитался вчера насчёт единицы. Она там не нужна, спасибо. А насчёт возврата функции - нам же не весь список вроде как нужен, а его фрагмент с начала до N, насколько я понял постановку задачи.
@BeginBye6 жыл бұрын
Evgeniy Cheremisinov да, тут все зависит от постановки задачи) я понял иначе. Тем не менее, моя строчка возврата функцией заданного фрагмента обращённого списка добавляет функции универсальности и гибкости, так как позволяет получить результат как в работе с целым списком, так и с его фрагментом)
@devour_dead5 жыл бұрын
Чорт! Такой препод, что мне хочется все бросить и бегом программировать, писать самые простые вещи, тупить, ломать голову, снова тупить, решать и дальше дальше дальше. Все четко, системно, понятно, мозги шевелятся.
@rkevlarovich36534 жыл бұрын
Тимофей, ну где ты был (да и я тоже) лет эдак 22 назад? )))) мне бы таких преподов (еще раз повторюсь) в универе, я бы стал точно программистом. А сейчас приходится самообразованием заниматься - что абсолютно несложно несмотря на пройденное время и возраст))) Спасибо и удачи!
@harislam862 жыл бұрын
"Лукавлю я, конечно... Слава Богу, что вы Питон не знаете" 🤣🤣🤣🤝🏻
@АлексейПилин-б2ф3 жыл бұрын
Такой жирный лайк поставил, что чуть телефон пальцем не раздавил
@maxchel5901 Жыл бұрын
1:11:11 решето Эратосфена
@MrEvgeny573 жыл бұрын
В "решете" во втором цикле просева составных чисел в range вместо 2*k лучше использовать k**2. Все до него будут составные, отфильтрованные предыдущими итеррациями
@ВаллиВалли-у1р5 жыл бұрын
Не не скучно , а интересно
@maratimus5 жыл бұрын
N =int(input()) A = [True] * N for i in range(2, N-1): if A[i]: print(i) for j in range(i*i, N-1, i): A[j] = False
@maratimus5 жыл бұрын
Здесь по другому через квадрат, тоже работает
@ФедякинРоман3 жыл бұрын
def make_primes_list(num): primes = [] sieve = [x for x in range(2, num + 1)] while sieve: prime = sieve[0] primes.append(prime) sieve = [x for x in sieve if x % prime != 0] return primes Более читабельный вариант решета Эратосфена для тех, кто умеет в list comprehensions
@idontknow34895 жыл бұрын
30:00 легче вот так) from random import randint N = 5 A = B = [0] * N for k in range(N): B[k] = A[k] = randint(0,10) #запихивает рандомные числа в список
@arnoldd53454 жыл бұрын
Класс!
@ФедякинРоман3 жыл бұрын
Можно еще проще: B = A = [randint(0, 10) for _ in range(N)]
@ФедякинРоман3 жыл бұрын
А если N прилетает из инпута, то в одну строчку: B = A = [randint(0, 10) for _ in range(int(input()))]
@Вадим-г6м9я2 жыл бұрын
Шо це таке) Це було прикольно) Ніколи штірліц не був так близько від провалу) ))
@YourLanguageHelp5 жыл бұрын
24:45 не "4", а "top - 1"
@user-ck2sb2uc2b4 жыл бұрын
Пока студенты молчат , я разговариваю с ПК ...
@quadroninja27083 жыл бұрын
Мне кажется, они задумались, а преподаватель пошел вперёд мысли студентов, вроде пытаешься понять, но нужно догонять и не до вопросов
@lonelydance3 жыл бұрын
29:58 Признак хорошего тона - копировать лист через срезы: C = A[:]
@8nhuman83 жыл бұрын
лучше использовать метод copy(). Читабельнее
@АлександрЛагутов-д8г3 жыл бұрын
@Тимофей Хирьянов, доброго времени суток. В Контесте для групп 737 и 738. Задание D, даётся последовательность чисел, однако в тестах с 6 по 10 дается список. И судя по проверкам, необходимо переместить последний элемент в начало. В самом задании об этом ни чего не сказано. 1-й семестр, 6-я неделя (группы 737-738
@tkhirianov3 жыл бұрын
@Александр Лагутов Спасибо большое за фидбек! Действительно, в тестах к заданию ошибка. Только это не список, а просто числа даны в строку. Я бы выкинул тесты с 6-го по 10-й или изменил их, но прямо сейчас у меня нет доступа к тестам на этом сервере. Я написал сисадмину с запросом доступа, но пока не могу вам помочь.
@tkhirianov3 жыл бұрын
Напишите мне персонально в Telegram через несколько дней с копией вашего сообщения. Я могу забыть про эту проблему, а доступ к тому времени мне скорее всего уже дадут.
@yulii11714 жыл бұрын
Очень интерессно. Спасибо
@СергейОрлов-я5с4 жыл бұрын
Классные лекции! Просто "бдыщь" головного мозга!🤪
@xrollup4 жыл бұрын
Етитская сила, я наконец-то понял как работает решето Эратосфена!
@zvezdodinka2 жыл бұрын
def reverse_list(lst): ''' разворачивает список ''' b, n = [], -1 for i in range(len(lst)): b.append(lst[n]) n -= 1 return b lst = ['5', '4', '3', '2', '1'] print(reverse_list(lst))
@АлексейСеменихин-и2н4 жыл бұрын
Блин мужик, ты где такой спинжак отхватил😂👍
@StankBrewing2 жыл бұрын
Спасибо за материал 🙏
@radunov.a10 ай бұрын
Не совсем понял, а алгоритмы будут позже или это и был алгоритм поиска в массиве?)
@АлександрБушев-м8п2 жыл бұрын
здоровья Вам.
@АнтонКулибякин6 жыл бұрын
Спасибо, преподаватель)))
@ЕвгенАкелла4 ай бұрын
Спасибо за лекции. Решил перед изучением языка прослушать основы, не прогадал. 1:08:40 Мне кажется Вы тут допустили ошибку. Вы переписали все ячейки с индексом до N-1. И после завершения перебора, т.е. в предпоследнюю ячейку массива, впихиваете временное значение. А надо бы в последнюю, в А[N]. Или я не прав?
@Андрей-ь1л7к4 жыл бұрын
Очень артистично !)
@vitaliisvinovei96902 жыл бұрын
58:17 Шо це таке?! XD подняло настроение)) спасибо большое за видео
@xandrewpwnz6 жыл бұрын
Ребят, а тесты посмотреть для данных лекций ,есть возможность ?
@svetakhamaganova63022 жыл бұрын
25:30 in range(4, 1, -1)
@AlexxNeww Жыл бұрын
Почему? Все правильно in range(4, -1, -1) т.е. индексы массива 4, 3, 2, 1, 0
@am0ba5 жыл бұрын
Если функция поиска возвращает индекс найденного эл-та, то возвращая -1 в случае отсутствия элемента в массиве, идея не очень. В питоне индекс -1 будет указывать на последний эл-т массива не?
@BudinCars6 жыл бұрын
как же поздно я нашел это(
@funtorm6 жыл бұрын
Ну да
@ЮстасПельмень5 жыл бұрын
да.
@am0ba5 жыл бұрын
Информатику?
@antonkozachkov88972 жыл бұрын
Только из интернета можно узнать какие подвиги совершают учителя. Спасибо.спасбо.спасибо.
@eugene83906 жыл бұрын
можно циклический сдвиг осуществлять при помощи деления по модулю, т.о. индекс всегда остается в пределах массива и временная переменная не нужна def cyclic_shift(N:list): l = len(N) for i in range(l - 1): index = (i + 1) % l N[i], N[index] = N[index], N[i] return N
@arhangelist5 жыл бұрын
Можно, только не ясно зачем - отказались от временной переменной, получили двукратный рост операций с памятью на каждом шаге цикла. То есть работает дольше, а профит не ясен. Подробнее: ВАРИАНТ 1 (исходный): на каждой итерации соседняя ячейка тупо затирается новым значением, то есть это операция: "считать исходное значение в ячейке A ==> сохранить его в ячейку А+1". О судьбе исходного значения в "А+1" можно не заботиться, так как массив обходим в направлении, противоположном направлению сдвига, а самый первый элемент (который в любом случае будет затерт) сохранили во временную переменную еще до цикла. Останется только по окончании цикла восстановить его из tmp в условно "последнюю" (или "первую") ячейку; ВАРИАНТ 2 (новый): ради отказа от временной переменной, мы _на каждой итерации_ вынуждены сохранять значение соседней ячейки, так как иначе её содержимое будет утеряно. Вы для этого используете "обмен значениями", но строго говоря это не суть - так или иначе мы получим операции, по нагрузке схожие с: "считать исходные значения в ячейках А, Б ==> сохранить исходные значения из А, Б в ячейки Б, А". Даже на вскидку видно, что это в два раза больше на каждом шаге (читаем и А и Б, записываем так же и А и Б). Не явно действий может быть и того больше, так как по факту "обмен значениями переменных" Питон (если угодно Пайтон) также осуществляет через временную переменную, только делает это незаметно для программиста. Об этом в том числе сказано в данных уроках (если не ошибаюсь, в первом, там где речь о базовом синтаксисе объявления/присваивания значений переменных).
@nepBoHax5 жыл бұрын
В правильном направлении мыслите, только можно сделать обертку над листом, где модом сдвигать только индекс, чуть вырастет время доступа к данным, но записи в них не будет происходить, выигрыш на лицо.
@murzinovleonid83552 жыл бұрын
Большое Вам спасибо!
@ДенисБорисов-с9ы4 жыл бұрын
на 8:40 решил проверить пример на практике и программа вывела 2 3 4 5 6, значит пример можно считать неправильным?
@fainafaina80044 жыл бұрын
"запукаем.. Що цэ такэ?!"(С)))))
@Nurgul-d6m4 жыл бұрын
Класс очень интересно смотреть,👍👍👍
@makedatauseful10152 жыл бұрын
Супер преподаватель
@Sigma84846 жыл бұрын
решето эратосфена можно сильно ускорить и в два раза сократить выделяемую память, если проверять только нечетные числа (индекс булевого массива = индекс нечетного числа, перевод из индекса в число 2*k+1) и вложенный for начинать не с 2*k, а с k*k, а внешний вести до sqrt(N)
@eugenedukatta93555 жыл бұрын
Это уже программистские фишки (оптимизация кода и алгоритма). Вы абстрагируйтесь от того что вы опытный программист, а только что начинающий. А вообще Тимофей Федорович про это заикнулся, но не продолжил.
@drum_bt5 жыл бұрын
на 25:00 for k in range(top-1,-1,-1)
@danxai5 жыл бұрын
я все равно не понял, почему цикл до -1, а не до 0. А[-1] же получится!
@Anna-ps8xe5 жыл бұрын
@@danxai особенности того как задан интервал: начальное значение включено, а конечное - нет. На языке математики это будет выглядеть [begin,end).
@Opencamp14 жыл бұрын
24:44 а если начало ренджа top-1? Для этого же создавалась переменная? Спасибо большое за урок!
@ivanklutru3 жыл бұрын
Это он для примера показал, просто не исправил. Вот, рабочий код """Введенные числа отображем в обратном порядке""" A = [0]*1000 top = 0 x = 1 while x != 0 : print("Для top", top) x = int(input("Введите число:")) if x != 0 : A[top] = x top += 1 for k in range(top, -1 , -1) : # range - start, stop (не включая это число), step print(A[k]) print("Всё")
@sharkmax1934Ай бұрын
24:20 "Начиная с top-1", а вместо этого в range пишет 4, что неверно. 1:06:00 Зачем так сложно организовывать циклический сдвиг? Достаточно цикла for со swap'ом соседних элементов. 1:03:00 написал программу, исправил все ошибки и не запустил, не показал что заработала. В одно месте говорит что итерации цикла считаются с 1, в другом говорит 0-ая итерация
@СтепанБендеров4 жыл бұрын
A = [1, 2, 4, 7, 10, 13] for x in A: x*=x print(x) работает 1 4 16 49 100 169 [1, 4, 16, 49, 100, 169]
@EvgeshaFromUa4 жыл бұрын
Если вы имеете ввиду, что вы поменяли таким образом список A, то некоем образом это не работает. Если стоит задача вывести квадраты значений списка А, то да
@wava2103 жыл бұрын
а допишите в конце print(A) без отступа (то есть не внутри for, а вне цикла) и поймете, что исходный список(массив) A остался прежним.