Алгоритмы на Python 3. Лекция №5
Практика: judge.mipt.ru/mipt_cs_on_python3/
Telegram-группа: t.me/tkhirianov_mipt_cs_on_py...
Спонсировать: / tkhirianov или www.paypal.me/tkhirianov
курс: Информатика. Алгоритмы и структуры данных на Python 3.
лектор: Хирьянов Тимофей Фёдорович
03.10.2017
Темы, рассмотренные на лекции №5:
- Список как массив данных.
- Линейный поиск в массиве.
- Копирование массива. Копирование задом-наперёд.
- Алгоритм обращения массива.
- Алгоритм циклического сдвига в массиве.
- Добавление элемента в конец и в начало массива.
- Удаление элемента из конца и начала массива.
- Ссылочная модель данных в Python. Изменяемость списка.
- Решето Эратосфена.
Пікірлер: 562
Вот я честно не понимаю, на сколько нужно быть правильным человеком и учебным заведением, что бы такую информацию выкладывать бесплатно и в таком качестве. Большое спасибо вам за работу, от всего интернет сообщества России. Думаю я не преувеличил. Большая, полезная, великолепная работа для развития всей страны.
@rio5121
3 жыл бұрын
Это современный взгляд, испорченный капитализмом. При союзе образование было бесплатным.
@vanadoo5836
3 жыл бұрын
Поддерживаю!
@quddi
2 жыл бұрын
@@rio5121 если вспомнить все, что было при нем, то лучше уж так, как сейчас
@ivanprokofyev
2 жыл бұрын
@@quddi, если бы еще знать хоть что-то о "нем".
@ivanprokofyev
2 жыл бұрын
Сильно преувеличиваешь, похоже, что в силу идеалистических представлений об окружающем мире и в силу того, что "слаще морковки" ничего не пробовал, т.е. не знаешь, что такое образование, которое направлено на подготовку специалистов, а не на штамповку компетентных потребителей. Какую такую информацию, в каком качестве? Сплошное самолюбование автора и ни дидактики, ни методики, ничего-то особенного. Современное образование, это заигрывание с УО, с набалованными детишками, это снижение требований и сложности для того, чтобы набрать необходимое количество молодых балбесов для з/п преподов ну и немного или много в карман положить. Это не про образование все, это все про профанацию и свободный рынок.
То чувство, когда в бесплатных лекциях на youtube человек объясняет проще и понятнее, чем в купленных мной платных онлайн-курсах за 30к... Жаль, что нельзя пожать руку, очень талантливый преподаватель!
@Mishanya00
2 жыл бұрын
Ну так это не просто человек, а преподаватель МФТИ, квалифицированнее некоторых преподов курсов будет
@user-in5ir5jd7u
9 ай бұрын
с курсами за 150к тоже самое... у меня столько стоит
@elenam4339
9 ай бұрын
зачем сравнивать университетское образование и онлайн-курсы ))
Тайм-коды: Массивы, тип 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 тернарный оператор
@cracoh
3 жыл бұрын
спасибо вам!
@igoweiqibaduk8283
2 жыл бұрын
Иритака, ты очень очень очень хороший человек! Твои таймкоды круче яндекса и гугла вместе взятых!
@iritaka
2 жыл бұрын
@@igoweiqibaduk8283 Ну Очень приятно! Спасибо огромное!!
@ivanprokofyev
2 жыл бұрын
Массив, это не способ доступа, а структура данных. Под способом доступа можно понимать тот или иной конкретный синтаксис или работу интерпретатора.
@iritaka
2 жыл бұрын
@@ivanprokofyev хорошее замечание
за "шо це таке" на 58:18- отдельный лайк!!!)
@andreyvbvbvb
5 жыл бұрын
На секунды две поздно напсал
@mihakgma
4 жыл бұрын
не уразумив ы не побачив) шо це такэ?)
@sanjarkenjayev7368
2 жыл бұрын
а что такое шо це текэ ? из Мариуполя препод
Такие знания . Бесплатно . Бескорыстно . Настоящий русский Учёный .
@Berseny
3 жыл бұрын
Знания бесплатно и бескорыстно -- это про коммунистов, а не про ррррусских. Ведь какой-нибудь буржуй, наживающийся на интеллектуальной собственности, не перестает от этого быть ррррусским буржуем. Верно? Правильно сформулировать: прогрессивный ученый левых взглядов (даже если он сам лепит чушь про какую-то нравственность в лагере праваков). По поступкам товарищ вполне себе марксист. =))
@beria_
3 жыл бұрын
@@Berseny у тебя шлак в голове
@Berseny
3 жыл бұрын
@@beria_ Да неужели? А у тебя точно шлака в башке нет? А? Уверен? =) Наивный человечишко. =)
@Berseny
3 жыл бұрын
@@user-oq9xr8dj1b А пока с чужого канала, это не бескорыстно? Нет, ну если ему заплатил кто-то за съемку уроков... Ну хз. Здесь бескорыстность не в том, что человек ничего не получил за свой труд педагога, это был бы альтруизм. Бескорыстие в том, что всеми знаниями вправе воспользоваться всякий человек. Интеллектуальная собственность -- зло!
@Berseny
3 жыл бұрын
@@user-oq9xr8dj1b Являясь достоянием всего человечества, это уже не интеллектуальная собственность, а общечеловеческое богатство. Я имел в виду, конечно же, частную собственность на знания, ну или собственность корпоративную. Ну когда остальные обязаны платить и покупать каждый раз, когда им необходимо, а у продавцов от этого не убывает. Уродливая система капитала, античеловеческая. Сделали из знаний подобие валюты, которая призвана приумножать их капиталы. Причем авторы к этим продажам зачастую не имеют никакого отношения. Они трудились на корпорацию, вот она и присвоила все их наработки. А человек просто раб, получил зарплату и всё! Никакой интеллектуальной ренты, хрен в зубы, и грызи. =) В общем, паразитическая система.
Вот это я понимаю - класс! Человек просто взял и на примере кнопок в лифте и наименовании этажей во Франции идеально объяснил логичность индексации с 0. Браво!
Хорошие емкие лекции. Спасибо за материал. Было бы гораздо удобнее если в названии будет тема лекции! Например: "Алгоритмы на Python 3. Лекция №5 (Массивы)"
За такое преподавание педагоги должны получать большую зарплату и входить в селебрити) давно пора записывать и выкладывать лекции, чтобы отсеять и поувольнять тех, кто бубнит себе под нос, путается в показаниях и кого тоска зеленая слушать) спасибо за увлеченность и добросовестность
Тернарный особо порадовал. Спс за лекцию.
- Список как массив данных (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-de6mf
3 жыл бұрын
И? Это любой студент знает?
Спасибо за материал и отличную подачу!
Спасибо Вам за уроки! Замечательная подача материала!!!
Здоровья вам Тимофей Хирьянов. Как хорошо что я нашел ваш канал. Читать статьи разные что такое стр инт и т.д. Окей базовые понятие , а тогда думаешь а чего же дальше начать, думал нужно учить синтаксисы ,а они оказываются непостоянны и меняются. То что вы раскладывание по полочкам облегчает мне и другим жизнь Я люблю чтобы всё было от и до и с рассказано почему так ( по каким правилам ) А не то что в интернете говорят общие понятия - что должно быть так и никак иначе А потом у меня другие вопросы и ищешь в интернете на свой же вопрос ответ.
Правильно говорят: "Если преподаватель не может объяснить 6 летнему ребенку, то он сам не разбирается в предмете!". Лекции просто чудо!!! В четко, ясно и понятно.
Очень здорово! Обучение это очень важно, хорошо что вы есть и так хорошо делаете свою работу!
Я Вас очень сильно уважаю. Словами не передать как я счастлив смотреть Ваши лекции
Огромное спасибо за уроки! Вместе с вами учиться намного приятнее и легче)
Тимофей, БРАВО! СПАСИБО! Вы ЛУЧШИЙ преподаватель!!!!
Преподаватель: "Лабы пропускать нельзя" Я за компом: ....
мозга кипит, но мне нравится, спасибо Тимофею большое... много вещей, подробно, наглядно, даже вопросов не возникает...
препод от бога
Спасибо Вам за уроки! Пусть ваша деятельность будет всегда успешной, доброго счастья вам, крепкого здоровья и уважения.
Спасибо! Вы самый лучший преподаватель!
лектор очень душевный!
НАСТОЛЬКО ПРОСТЫМ ЯЗЫКОМ И ТАК ИНТЕРЕСНО УВЛЕКАТЕЛЬНО ПОБОЛЬШЕ БЫ ТАКИХ УЧИТЕЛЕЙ 👍👍👍☝️👍👍👍
Спасибо за прекрасную лекцию)
Тимофей, вы лучший! Спасибо!
Так, эту лекцию посмотрел, теперь не запутаться, в следующий раз смотреть следующую.
Талант и интелект вот это человек с большой буквы!
Спасибо тебе Добрый человек за эти лекции
Лекции класс не возможно уснуть , подписался..
Спасибо, продолжаю изучение с удовольствием)
Спасибо за лекции. Лучшие!!!
Решето Эратосфена гениально расписан на Пайтоне, просто красота, так круто когда на память на доске можешь его написать.
Приятно слушать и созерцать!
23:07 Всё понятно, топ лекция, продолжайте) (молчание - это глубокая заинтересованность)
Последние 8 минут видео сделали мой день...
спасибо, Тимофей Фёдорович
Вы великолепный преподаватель. Смотрю все ваши лекции с превеликим удовольствием и на 6-й лекции могу с уверенностью сказать, что именно этого мне не хватало при кодировании. Я уже пишу на питоне телеграмм ботов и работаю с БД но это все занимало очень много времени так как не всегда было достаточно понимания как это работает. Все конечно же гуглилось но до конца понять, что то все-таки не мог.
@westend_school
3 жыл бұрын
почему-то не нашел 6ю лекцию. она еще активна?
@psychicks3463
Жыл бұрын
@@westend_school kzread.info/dash/bejne/gIClmdB7acW8YLA.html
Это гениально! Блокбастер по программированию!
Спасибо за лекции . Очень познавательный матерьял . Мне как программисту .Вы оказали огромную помощь .
Спасибо, преподаватель)))
Очень интерессно. Спасибо
Очень артистично !)
Спасибо за материал 🙏
Не не скучно , а интересно
пользуясь несколько лет срезами на уровне рутины я даже и не выдумывался в такие нужные вещи
Комментарий в поддержку контента.
Большое Вам спасибо!
Тимофей Федорович, спасибо Вам большое за публикации своих курсов на ютубе! У меня возникло одно замечание, я его выскажу, не сочтите за неуважение. Я как будто заметил, что некоторые вещи людям непонятны, на первом курсе у студента ветер в голове) да и мне тоже иногда трудно) вот к примеру эти списки, а зачем они вообще нужны? А если непонятно зачем этот инструмент нужен, трудно в нем разобраться. Не лучше ли подавать материал с практической точки зрения? т.е. вот к примеру есть задача с помощью питона проанализировать введеные данные к примеру значения температуры (или я не знаю что еще))), и вот для этого можно применить такую вещь как списки, и вот так-то они устроены и т.д. или же еще на первой лекции можно было поставить задачу написать примитивный калькулятор, и параллельно объяснить все базовые вещи. ну как то так, спасибо)
Спасибо Вам огромное!!!
Вообще интересное объяснение логичности индексации с нуля. Забавное. Строго говоря во Франции нет нулевых этажей (хотя кнопка ноль в лифте присутствует). Первый этаж в нашем понимании по французски это Rez-de-chaussée произносится что-то вроде Редшосэ и переводится как «рядом с дорогой из известняка» или «на уровне дороги из известняка». Я так понимаю по нашему это земляной пол :). Даже в лохматой древности у нас не было в традиции строить дома с земляным полом, климат не тот. :) Поэтому вероятно у нас всё начинается с первого этажа, а не с нулевого.
здоровья Вам.
Тимофей, ну где ты был (да и я тоже) лет эдак 22 назад? )))) мне бы таких преподов (еще раз повторюсь) в универе, я бы стал точно программистом. А сейчас приходится самообразованием заниматься - что абсолютно несложно несмотря на пройденное время и возраст))) Спасибо и удачи!
восхитительно
Классные лекции! Просто "бдыщь" головного мозга!🤪
Во втором гуманитарном корпусе МГУ, где сидит факультет ВМиК 9Вычислительная Математика и Кибернетика), лифт от 0 до 7)))
Такой жирный лайк поставил, что чуть телефон пальцем не раздавил
*в конце лекции как всегда "отжигаете"))*
@tkhirianov
2 жыл бұрын
Заинтриговали. Не понял на какой именно минуте и что именно вы имеете в виду.
@mystical_stories
2 жыл бұрын
Для начала, раз Вы мне ответили, хочу поблагодарить Вас за эти лекции. Очень интересно и доступно объясняете. Занимаюсь с удовольствием. А насчёт "отжигаете", я имел ввиду, что в конце лекций Вы часто в сжатые сроки объясняете сложные моменты :) И благо, я могу перемотать, посмотреть и обдумать несколько раз. На живой лекции я бы такой роскошью не обладал :)
Ребят, а тесты посмотреть для данных лекций ,есть возможность ?
Ну почему понимаешь, что надо было учиться, когда тебе уже сороковой десяток идёт? Сейчас бы с удовольствием сидела бы среди этих студентов..
@user-mh9ql3kg3l
5 жыл бұрын
Сороковой десяток или все таки четвёртый?
@Siren476
5 жыл бұрын
Денис Катанугин Да, долго я необразованная живу)
@danalexpiano
5 жыл бұрын
Stacy Miller не надо вам в программисты ))))))
@user-eo3tl9cd9k
5 жыл бұрын
)
@b.g.5106
5 жыл бұрын
@@danalexpiano программисты не люди))))
Спасибо!
Отлично!)
В лектории очень тихо, потому что лекция увлекательная!
В "решете" во втором цикле просева составных чисел в range вместо 2*k лучше использовать k**2. Все до него будут составные, отфильтрованные предыдущими итеррациями
48:50 Гениально. 1:00:51 Я это ивертирование мучил за пару дней до просмотра видео. И прошёл по всем граблям, что тут показаны.
Шо це таке) Це було прикольно) Ніколи штірліц не був так близько від провалу) ))
16:00 с версии Python 3 - PEP рекомендует использовать enumerate, если хотим получать индексы.
Супер преподаватель
Спасибо
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]
Блин мужик, ты где такой спинжак отхватил😂👍
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' Возможно, дело вкуса. Но мой вариант, мне кажется, выглядит привлекательнее
"Лукавлю я, конечно... Слава Богу, что вы Питон не знаете" 🤣🤣🤣🤝🏻
решето эратосфена можно сильно ускорить и в два раза сократить выделяемую память, если проверять только нечетные числа (индекс булевого массива = индекс нечетного числа, перевод из индекса в число 2*k+1) и вложенный for начинать не с 2*k, а с k*k, а внешний вести до sqrt(N)
@eugenedukatta9355
4 жыл бұрын
Это уже программистские фишки (оптимизация кода и алгоритма). Вы абстрагируйтесь от того что вы опытный программист, а только что начинающий. А вообще Тимофей Федорович про это заикнулся, но не продолжил.
21:10 Тишина, понятно да? да! значит ничего не понятно)
Надо после окончания лекции для студентов продолжать лекцию для подписчиков и рассказывать нерассмотренные вопросы)
спасибо!
можно циклический сдвиг осуществлять при помощи деления по модулю, т.о. индекс всегда остается в пределах массива и временная переменная не нужна 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
@arhangelist
5 жыл бұрын
Можно, только не ясно зачем - отказались от временной переменной, получили двукратный рост операций с памятью на каждом шаге цикла. То есть работает дольше, а профит не ясен. Подробнее: ВАРИАНТ 1 (исходный): на каждой итерации соседняя ячейка тупо затирается новым значением, то есть это операция: "считать исходное значение в ячейке A ==> сохранить его в ячейку А+1". О судьбе исходного значения в "А+1" можно не заботиться, так как массив обходим в направлении, противоположном направлению сдвига, а самый первый элемент (который в любом случае будет затерт) сохранили во временную переменную еще до цикла. Останется только по окончании цикла восстановить его из tmp в условно "последнюю" (или "первую") ячейку; ВАРИАНТ 2 (новый): ради отказа от временной переменной, мы _на каждой итерации_ вынуждены сохранять значение соседней ячейки, так как иначе её содержимое будет утеряно. Вы для этого используете "обмен значениями", но строго говоря это не суть - так или иначе мы получим операции, по нагрузке схожие с: "считать исходные значения в ячейках А, Б ==> сохранить исходные значения из А, Б в ячейки Б, А". Даже на вскидку видно, что это в два раза больше на каждом шаге (читаем и А и Б, записываем так же и А и Б). Не явно действий может быть и того больше, так как по факту "обмен значениями переменных" Питон (если угодно Пайтон) также осуществляет через временную переменную, только делает это незаметно для программиста. Об этом в том числе сказано в данных уроках (если не ошибаюсь, в первом, там где речь о базовом синтаксисе объявления/присваивания значений переменных).
@nepBoHax
4 жыл бұрын
В правильном направлении мыслите, только можно сделать обертку над листом, где модом сдвигать только индекс, чуть вырастет время доступа к данным, но записи в них не будет происходить, выигрыш на лицо.
Если функция поиска возвращает индекс найденного эл-та, то возвращая -1 в случае отсутствия элемента в массиве, идея не очень. В питоне индекс -1 будет указывать на последний эл-т массива не?
Наглядный пример разработки по методу TDD (Test-Driven Development) :)
гений!
Чорт! Такой препод, что мне хочется все бросить и бегом программировать, писать самые простые вещи, тупить, ломать голову, снова тупить, решать и дальше дальше дальше. Все четко, системно, понятно, мозги шевелятся.
58:17 Шо це таке?! XD подняло настроение)) спасибо большое за видео
Спасибо, решето понравилось, долго допирал ) единственное что не понял почему мы 0 и 1 ставим в False ? они тогда составными печатаются
@danalexpiano
5 жыл бұрын
Сергей Разгонов ну ошибся он в конце, там ещё третий вариант будет - неприменимо. 0 не является простым, так как на 0 делить нельзя. Сейчас точно не помню, но вроде и 1 не будет простым, так как простое должно делиться на два числа - единицу и себя, а у 1 эти оба числа являются одним и тем же. Простые числа тут предполагаются как элементы разложения на множители.
@user-nt7zx5ix8t
4 жыл бұрын
0 и 1 false , т.к это числа 1 и 2 (простые). В последней строке ошибка, там надо не "k", а "k+1"
48:35 Почему test1 в def test_array_search() возвращает ок? Разве не fail должен вернуть? Объясните пожалуйста, ведь 8 нет в массиве А1!
@romansokolov2216
3 жыл бұрын
Потому что тест проверяет корректность выполнения функции для разных входных данных. Если элемента нет в массиве, функция возращает -1, в test1 проверяется это условие и возращается "ok".
@Тимофей Хирьянов, доброго времени суток. В Контесте для групп 737 и 738. Задание D, даётся последовательность чисел, однако в тестах с 6 по 10 дается список. И судя по проверкам, необходимо переместить последний элемент в начало. В самом задании об этом ни чего не сказано. 1-й семестр, 6-я неделя (группы 737-738
@tkhirianov
2 жыл бұрын
@Александр Лагутов Спасибо большое за фидбек! Действительно, в тестах к заданию ошибка. Только это не список, а просто числа даны в строку. Я бы выкинул тесты с 6-го по 10-й или изменил их, но прямо сейчас у меня нет доступа к тестам на этом сервере. Я написал сисадмину с запросом доступа, но пока не могу вам помочь.
@tkhirianov
2 жыл бұрын
Напишите мне персонально в Telegram через несколько дней с копией вашего сообщения. Я могу забыть про эту проблему, а доступ к тому времени мне скорее всего уже дадут.
Спасибо!!! А для чего применяется это решето?)
24:44 а если начало ренджа top-1? Для этого же создавалась переменная? Спасибо большое за урок!
@ivanklutru
2 жыл бұрын
Это он для примера показал, просто не исправил. Вот, рабочий код """Введенные числа отображем в обратном порядке""" 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("Всё")
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))
А не получится вот где мы сдвиг массива делаем через tmp, что это тоже ссылка как в примерах ранее с массивами A B C? т.е. в случае tmp=A[0] мы сделали ссылку, а потом первой итерацией цикла for мы туда уже задвинули A[1] и в переменной tmp окажется не тот ящик который мы ожидаем?
Етитская сила, я наконец-то понял как работает решето Эратосфена!
35:10 Не понял. Он же перед этим, наоборот, рассказывал, что по ссылке объект не меняется.
29:58 Признак хорошего тона - копировать лист через срезы: C = A[:]
@8nhuman8
2 жыл бұрын
лучше использовать метод copy(). Читабельнее
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 Ваш метод был не очевидным, и по этой причине - классным и ценным! Спасибо!!!
@denyslozinskyi7322
5 жыл бұрын
Evgeniy Cheremisinov относительно возвращения списка функцией ваше утверждение справедливо только в том случае, если в результате ее работы нас будет интересовать ВЕСЬ обращённый список. Но задача ведь стоит иная: "Обращение массива в рамках индексов от 0 до N-1", т.е. не весь массив, а его часть, отмеченная N. Поскольку N не обязательно будет совпадать с последним индексом списка, возврат участка имеет смысл.
@BeginBye
5 жыл бұрын
Evgeniy Cheremisinov да, просчитался вчера насчёт единицы. Она там не нужна, спасибо. А насчёт возврата функции - нам же не весь список вроде как нужен, а его фрагмент с начала до N, насколько я понял постановку задачи.
@BeginBye
5 жыл бұрын
Evgeniy Cheremisinov да, тут все зависит от постановки задачи) я понял иначе. Тем не менее, моя строчка возврата функцией заданного фрагмента обращённого списка добавляет функции универсальности и гибкости, так как позволяет получить результат как в работе с целым списком, так и с его фрагментом)
как вводить данные для A[k] = int(input())? пробовала через пропуск или через каждую строку. не получается
Как же эти лекции помогают, пиздец просто
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
Пока студенты молчат , я разговариваю с ПК ...
@quadroninja2708
2 жыл бұрын
Мне кажется, они задумались, а преподаватель пошел вперёд мысли студентов, вроде пытаешься понять, но нужно догонять и не до вопросов
Классные лекции. А где найти 6-9? KZread после 5й сразу 10ю выдает
@tkhirianov
3 жыл бұрын
В плейлисте они по порядку.