ВСЕ ВИДЕО ПО PYTHON: • Python для начинающих МОЙ КУРС ПО GIT: www.udemy.com/course/git-alis... ДЛЯ ЖИТЕЛЕЙ РФ: swiftbook.org/courses/586 Реклама и сотрудничество: alishev.neil@gmail.com
Пікірлер: 248
@alishevN4 жыл бұрын
1) Плейлист этого курса вот здесь: kzfaq.info/sun/PLAma_mKffTOSY12JZS6l8lxKCpooPVcrn 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
@user-lg2ri6dz5u2 жыл бұрын
Привет, если увидишь этот сообщение, прокомментируй, пожалуйста, мое решение: def mirrow_arr(orig_arr): for el in orig_arr: for i in range(len(orig_arr) // 2): el[i], el[-1-i] = el[-1-i], el[i] return orig_arr
@Robozveria4 жыл бұрын
Ехал список через список, видит список - список список. Сунул список список в список: список список список список.
@user-kr2bf6tn1w4 жыл бұрын
Я так долго ждал курсы по питону , что стал джуном php )
@iz_90x4 жыл бұрын
ахахаха)))
@iz_90x4 жыл бұрын
@Leon Bezbojnik что за бред
@username8644 жыл бұрын
Хочу выразить вам огромную, просто ОГРОМНУЮ благодарность за то, что вы всё это бесплатно сделали для и нас. Очень доходчиво. Пару месяцев назад, когда я только залез в IT, мне, что б понять и полностью освоить тему нужна была неделя(и то, если тема эта не сложная), и поэтому я даже не мог понять то, что вы объясняете, хотя сейчас, когда я почти закончил курс Питон для новичков, то смотрю новый материал у вас для себя с огромным кайфом !) Спасибо вам !!!
@marinaagafonova25734 жыл бұрын
Задачи хорошие, и бОльшая часть материала для их решения и правда была дана ранее, но тем не менее реальным новичкам решить их самостоятельно нереально. Сразу оговорюсь, что помощь гугла - уже априори не является "самостоятельным решением", на мой взгляд. Может я просто тупая такая и в моей голове что то не укладывается, но мне кажется вы не даете полной картины. Вы отлично объясняете, все понятно пока вы говорите. Но когда дело доходит до задач, то оказывается, что знаний не достаточно. Просто потому, что нет полной картины в голове новичка. Вот лично мне казалось в предыдущих уроках, что я полностью поняла синтаксис и смысл функции append. Я запомнила, что добавить к списку элемент это a.append(0), например. Но массив это другая структура, и синтаксис немного иной (с точки зрения новичка). Для меня a.append(0) (добавление элемента к обычному списку) и arr.append(inter_arr) (добавление целой строки к массиву) это разные выражения. Конечно посидев пару минут глядя в это выражение и осознав его, ты понимаешь, что "да, это ведь логично". Но посмотрев ваше решение я для себя поняла, что не додумалась бы до него наверное и через неделю. Во второй задаче выражение (len(arr) // 2) - откуда вообще взялось? Как до этого мог додуматься человек, впервые столкнувшийся с языком программирования? Это абсолютно новая возможность языка, о которой не упоминалось ранее ни в коем виде. Понятно, что вы пытаетесь приучать людей думать, это круто. Но, мне кажется, что надо шире показывать возможности новых функций. Показывать, что "вот со строками это выглядит так, а с массивами вот так, но о массивах поговорим позже". И тогда дойдя до массива, у новичка в голове будет инфа, что вот когда то вы об этом упоминали, можно посмотреть в более раннем уроке и применить на практике. Ну или хотя бы давать какие то подсказки о том, какую информацию можно поискать самостоятельно, чтобы дойти до решения. Новички понятия не имеют о том, какими возможностями обладает язык. К примеру, мне не понятно почему нет встроенной функции печати массива в виде таблицы без запятых и скобок, почему такую функцию надо писать самому? Это же совершенно очевидная и базовая функция, такая же как обычный print. И я полагаю если бы она существовала, вы бы ее показали. И так далее, в общем) Решения ваших задач часто подразумевают существование у новичка некой интуиции на наличие тех или иных возможностей языка, но у нас ее нет :) В общем, надеюсь мой посыл правильно понят и, возможно, поможет вам в будущем строить свои уроки еще более доступно для совсем зеленых)
@alishevN4 жыл бұрын
Спасибо за обратную связь
@derekcollins97394 жыл бұрын
Согласен. Решение задач действительно требует знаний приёмов программирования, которые в предыдущих видео не объяснялись. Я тоже не смог решить сам.
@oleggg3 жыл бұрын
Поддерживаю. В какой-то момент я перестал пытаться решать задачи самостоятельно потому как был уверен, что в решениях окажется материал который не проходили. И практически всегда так и получалось. Автор видимо имел в виду совсем не тех начинающих когда делал этот курс. Видимо имелось в виду начинающих конкретно в Python, а не начинающих в программировании.
@pozzitifosha81213 жыл бұрын
вы мне очень помогаете готовиться к урокам информатики,спасибо большое!мастер своего дела.
@vikkat13 жыл бұрын
rows = [] columns = [] def matrix(n,m): i = 0 j = 0 while i < m: rows.append(columns) i += 1 while j < n: columns.append(0) j += 1 for a in rows: for b in a: print(b, end=' ') print() matrix(10,10)
@NeoWaIker3 жыл бұрын
555 лайков под этим видео, круто. Очень хорошо объясняешь. Долго в инете искал тутор по двумерным массивам, нигде нормально не объясняли. Спасибо, удачи!
@HIPHOPALIVE4 жыл бұрын
Спасибо за твои старание. Очень интересно. Ждем продолжения. С наступающим тебя бро
@alishevN4 жыл бұрын
Спасибо!
@betsxxl72974 жыл бұрын
@@alishevN А когда же продолжение?
@andreykuprin7310 Жыл бұрын
Решение на Задание №1 def create_2d_arr(n,m): my_arr = [] my_arr = [[0] * m for i in range(n)] return my_arr Решение на Задание №2 def mirror_arr(mas): for i in mas: for j in range(len(i)//2): i[j],i[len(i)-j-1] = i[len(i)-j-1], i[j] return mas Огромная благодарность автору канала за труды!
@qazaqbalasy9163 жыл бұрын
Жирнейший like и подписка. Для меня лучший видеурок по многомерным массивам и заодно циклам.
@phoenixegoist41232 жыл бұрын
спасибо большое, учусь, пересматриваю по несколько раз, всё доступно и понятно функцию с разворотом по фану сделал) def side_reflect(some_list): '''функция для чтения списка в обратном порядке''' some_list = some_list[::-1] return some_list def print_side_reflect_matrix(some_array): '''функция для отзеркаливания матрицы по вертикали''' for array in some_array: array = side_reflect(array) for element in array: print(element, end=' ') print() return some_array
@OleksiiZhuravlov3 жыл бұрын
Спасибо за уроки! Успехов автору и учащимся! ;)
@vladimirkulakov61263 жыл бұрын
Супер! Первая задачка и самому пришла на ум пока слушал урок)
@hlibyeletskyi25392 жыл бұрын
Я последнюю задачу вот так решил: def reverse_arr(x): for i in range(len(x)): x[i].sort(reverse=True) return matrix_print2(x) matrix_print2 (x) - функция из начала этого же урока для вывода шахматкой. все работает также. Вариант с решением через целочисленное деление не придумал бы и за неделю. А метод .sort запомнил просто когда смотрел в документации к питону основные фичи списков. Спасибо за урок!
@nadyamoscow24613 жыл бұрын
Спасибо за отличный урок! Долго мучилась, но идея у меня была более простая - распечатать вложенные списки в обратном порядке. Признаюсь честно, что скомпилировать мысль получилось только после просмотра вашего решения. di = [[1, 2, 8, 9], [4, 8, 6, 5], [7, 8, 9, 3]] # исходный список def mass_di(m): # вложенная функция return m[::-1] def my_mirr(di): # рабочая функция for m in di: mass_di(m) pr_m(di) # вывод исходной матрицы в печать print() # пробел для красоты my_mirr(di) # запускаем функцию pr_m(di) # распечатаем, что вышло в итоге
@user-xi1du6rh7r4 жыл бұрын
Спасибо за уроки, очень понятно объясняешь ;)
@onegamer64293 жыл бұрын
arr_2d = [['Спасибо'], [alishev], [за помощь!]] def print_matrix(arr_2d): for arr in arr_2d: for el in arr: print(el, end = ' ') print() print_matrix(arr_2d) ________________________________________ Вывод: Спасибо alishev за помощь!
@user-iz5mn9jm8j3 жыл бұрын
arr_2d = [['Спасибо'], ['alishev'], ['за помощь!']] def print_matrix(arr_2d): for arr in arr_2d: for el in arr: print(el, end = ' ') print() print_matrix(arr_2d)
@Flaxet Жыл бұрын
Спасибо за ваш труд. Все очень понятно на простом Русском языке. Без лишней воды, туману и слов паразитов "эээээ", "нууууу", подковы гну и т. д. Слава Богу я что то начинаю понимать. Вы молодец!!! Респект!!! 🎉🎉🎉 делайте свое дело никого не слушайте. Решение одной и той же задачи может быть разным способом. Цель достигнута, код рабочий в чем проблема???
@alisaholainen63344 жыл бұрын
Наиль, вам надо периодически давать частные уроки=) У вас хорошо получается ведь. Спасибо за этот урок.
@user-dz1uq5sd5b3 жыл бұрын
Последнюю задачу сначала решил так: def mirror_swap(array2d): for arr in array2d: arr.reverse() return array2d Потом решил, что такое решение не подходит для качественного усвоения материала. Подумал... и пришел к такому решению: def mirror_swap(array2d): for arr in array2d: for el in range(len(arr) // 2): arr[el], arr[-1-el] = arr[-1-el], arr[el] return array2d Каково было мое удивление, когда я впервые оказался близок к вашему алгоритму! Только я несколько иначе вычисляю индекс второго элемента в паре. Тут я вспомнил ваш урок по спискам, где вы говорили, что запись list[-1] соответствует последнему элементу в списке! Огромное вам спасибо!!!!!!!!!
@ilnur_nambavan3 жыл бұрын
Задача 2: def mirror(arr): for g in range(len(arr)): for i in range(len(arr[0]) // 2): arr[g][i], arr[g][-i - 1] = arr[g][-i - 1], arr[g][i] return arr ПС. Спасибо за классные уроки и задачки!
@user-mt9vn3pr9o3 жыл бұрын
Первое задание сделал, создав сначала список из нулей, а потом добавляя его в основной. Второе, кстати, без создания вспомогательной функции. Создал переменную для перебора списка с конца. №1 def create_2d_arr (m,n): list_m = [] list_n = [] for k1 in range (n): list_n.append (0) # создаём вложенный список, добавляя нули for k2 in range (m): list_m.append (list_n) # добавляем вложенный список в основной нужное количество раз return (list_m) №2 def create_1 (m1, n1): # создаём матрицу из m1 строк и n1 столбцов cr1 = 0 arr_1 = [] for i1 in range (m1): arr_2 = [] for j1 in range (n1): arr_2.append (cr1) cr1 += 1 arr_1.append (arr_2) return (arr_1) # Это, по сути, оформление условия задачи. Функция создаёт матрицы нужных размеров с возрастающими по порядку числами (последнее для упрощения восприятия) # Теперь решение: def create_2 (m1, n1): # зеркально отражаем слева направо матрицу, созданную в create_1 arr_1 = create_1 (m1, n1) for i2 in range (m1): t2 = -1 # создали переменную, чтобы идти по спискам в обратном направлении for j2 in range (n1): if j2*2 < len (arr_1[i2]): # условие, чтобы не перейти середину матрицы и не отразить её обратно arr_1 [i2][j2], arr_1 [i2][t2] = arr_1 [i2][t2], arr_1 [i2][j2] # обмен элементами t2 -= 1 return (arr_1) # Результат # Функцию print_matrix не вывожу - она взята из урока m1, n1 = 3, 6 print_matrix (create_1 (m1,n1)) print () print_matrix (create_2 (m1,n1)) 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 5 4 3 2 1 0 11 10 9 8 7 6 17 16 15 14 13 12 # Работает при различных размерах матрицы. Спасибо за урок!
@Dr._S_Brule Жыл бұрын
Спасибо, после урока, получилось немного лучше уложить в голове матрицы и их обход!
@user-cm5mk7er6k3 ай бұрын
Возможно где-то в комментах уже есть: 2ая задача проще: def reverse_list(arr): for item in arr: item.reverse() # здесь arr - двумерный массив, соответственно item в цикле - каждый подмассив, который встроенной функцией переворачиваем
@jack52794 жыл бұрын
Ура! Первое задание, из курса, которое сам сделал. Поставил на паузу и сделал отзеркаливание массива. Так же использовал целочисленное деление //. Спасибо и от меня за уроки.
@hummerneadekvat18324 жыл бұрын
я за 4 дня до экза сделал первое задание по питону)))
@jack52794 жыл бұрын
@@hummerneadekvat1832 я для себя изучаю. Так еще сложней )
@Last0n33 жыл бұрын
Классно обьясняешь. Очкень часто помогаешь в школе
@alexvernua3 жыл бұрын
комментарий просто для рейтинга) комбинация двух задач - сначала создается список с заданными размерами, а потом он отзеркаливается def createarray (x,y): zeroarray=[] for t in range (x): tempo=[] for length in range(y): tempo.append(length) zeroarray.append(tempo) return zeroarray arr1=createarray(5,5) print("source matrix") for m in range(len(arr1)): print (arr1[m]) for i in range(len(arr1)): for j in range(len(arr1)//2): temp=len(arr1)-j-1 arr1[i][j],arr1[i][temp]=arr1[i][temp],arr1[i][j] print("after mirroring") for m in range(len(arr1)): print (arr1[m])
@megamaanpython11433 жыл бұрын
Уроки- огонь!!! Мои три варианта решения задачи по зеркальному отображению матрицы(создано по принципу скопировать- вставить, все работает): #Вариант 1 #Решение задачи через функцию reverse mirrorList=[[1, 2, 3], [4, 5, 6], [7, 8,9] ] def mirror(List): for i in range(len(List)): a= List[i] a.reverse() List[i]=a return List mirror(mirrorList) #Вариант 2 #решение задание через создание доп списка вручную mirrorList1=[[1, 2, 3], [4, 5, 6], [7, 8,9] ] for i in range(len(mirrorList1)): tempList=[] j=-1 while j>=-len(mirrorList1[i]): # переворачиваем список tempList.append(mirrorList1[i][j]) j-=1 mirrorList1[i]=tempList print(mirrorList1) #Вариант 3 # решение без доп списков и вложенных массивов mirrorList1=[[1, 2, 3, 5], [4, 5, 6], [7, 8,9] ] for i in mirrorList1: last=-1 for j in range(round(len(i)/2)): temp=i[last] i[last], i[j]= i[j], i[last] last-=1 print(mirrorList1)
@Kurt21.892 жыл бұрын
Просто и доходчиво супер
@vladimirefimov36724 жыл бұрын
Хорошие курсы. Но для бегиннеров тяжело. Это скажем так для настойчивых бегиннеров) А так да, пили дальше! Единственно аудитория узкая. Лайк и прочее) и зачем подфункция если работает прямой обмен a, b = b, a?
@Daredee0004 жыл бұрын
кому ж нынче нужны ненастойчивые бегиннеры? :)
@sergeyfomichev7363 жыл бұрын
ох по поводу бегиннеров я с тобой согласен. ибо же порой урок выглядит (особенно в части, где задачи), как преподаватель просто кодит, а мы смотрим. каждый символ в коде имеет принципиальное значение, и предполагается, что ученики, однажды узнав, что значит тот или иной символ, безошибочно начнут его применять, и нет никакой надобности проговаривать подробно, что, откуда и зачем взялось. возможно так и должно быть, не знаю. автору курса огромное спасибо!
@maxwellhawk3 жыл бұрын
да тут и для не бегинеров фиг поймешь. Мол надо было догадаться про аперант //. Была у меня мысля делить на 2 в начале, но потом ушел в другую сторону, и в общем нифига не получилось. Я думаю надо тчательно проговарить все операторы, их аргументы, методы применения, чтобы при появившеся задачи можно было уже использовать имеющийся опыт, а не сидеть пол часа пытаться втыкнуть, а оказывается мы там в уроках чет пропустили и без этого нифига не получится. Но то что есть задачи, это плюс. Без практики и самостоятельно работы, знания быстро выветриваются
@ArGoSpks2 жыл бұрын
Да, тяжко в этом плане, я раньше не кодил никогда, теорию понимаю нормально, дают задачу, а у меня просто мозг не работает в таком ключе и я просто не могу прийти к решению через всякие другие ходы как в видео. Но ничего начну с самых легких задач, чтобы начать понимать как все работает)
@zombich2 жыл бұрын
@@ArGoSpks бро, это у всех так, походу
@Kate1312902 жыл бұрын
добрый вечер, подскажите, а как создать 2д массив, при этом пользователь сам вводит элементы строки и столбца?
@Foontiq4 жыл бұрын
Хорошо объясняешь. Когда про классы видос запилишь?
@pate24182 жыл бұрын
end = ' ' в функции print не работает, подскажите почему, и как там это можно реализовать, спасибо.
@Susan-en9he2 жыл бұрын
Скажите, а как сделать, чтобы элементы матрицы вводились с клавиатуры?
@user-wr7tx5eq2t3 жыл бұрын
Мне кажется второе задание легче первого p.s Они оба простые. Спасибо тебе, ты очень хорошо объясняешь, даже слишком для бесплатного курса на KZfaq. мой вариант решения 2 задачи (у меня функция только одна): def perevorot(big_mass): for mass in big_mass: for i in range(len(mass)//2): mass[i], mass[-i - 1] = mass[-i - 1], mass[i]
@MaxllmuS3 жыл бұрын
Сам примерно так же решил. В начале Наиль научил пользоваться отрицательными индексами с конца массива и обучил способу мгновенного свапа 2х и более значений средствами питона. И через пару укроков делает те же операции, но более сложным способом. Могу объяснить это только одним, между уроками прошло много времени и успел забыть какие фишки питона уже рассказал, а какие еще нет. А у нас между этими уроками разница несколько дней.
@huhnak3 жыл бұрын
Для создания массива нулей, можно использовать [0]*5, а для двумерного [[0]*10]*5
@artyshock5692 жыл бұрын
слыш, купи!
@---ul5qc4 жыл бұрын
спасибо тебе огромное за твои уроки !!!! ТЫ ЛУЧШИЙ !!! жду с нетерпением новых уроков по питону!!! Так же очень интересно было бы посмотреть серию видео: 1. Python+PyGame для начинающих, 2. Python + OpenGl 3. Python + Kivy смотрел бы с удовольствием!!!!
@user-sz6cv1bo1l3 жыл бұрын
#сначала создал 2-х мерный массив, потом стал его "печатать ")00)) def create_2d (x,n): a = 0 b = 0 a1 = [] b1 = [] while a < n : a1.append(0) a +=1 while b < x: b1.append(a1) b +=1 for i in range(len(b1)): for j in range(len(b1[i])): print (b1[i][j],end = " ") print () create_2d(10,5)
@weneryagawarow51333 жыл бұрын
Огромное спасибо, что так понятно объясняешь, другие так не могут. С нетерпением жду следующих уроков. Хочется что бы они выходили как можно чаще. С первой зарплаты программиста задоначу 5 % . Только не забудь добавить кнопку спонсировать
@cryptobubbles32612 жыл бұрын
Как успехи? Устроился программистом?
@Dark_._Knight7 ай бұрын
@@cryptobubbles3261 Забросил наверное он
@ijustseen-sth2 жыл бұрын
Я не очень понял, а что за print_matrix?
@suprun19824 жыл бұрын
Как тебе такой вариант решения? def print_2d(arr): for i in arr: k = i[::-1] for j in k: print(j, end=' ') print() print_2d(arr_2d)
@betsxxl72974 жыл бұрын
Будто талант обяснять, чесное слововсе понятно!
@derekcollins97394 жыл бұрын
А мне непонятно. :(
@user-wc1xm5rl7k3 жыл бұрын
@@derekcollins9739 мне уже какой урок не понятно
@user-cm6gb9rk2t2 жыл бұрын
@@derekcollins9739 Пипец, я не один такой
@Strannick894 жыл бұрын
Спасибо за урок. нравится формат очень. Я так понимаю - следующий урок не скоро? Пока можно по другим курсам пройтись)
@jekiangel64 жыл бұрын
всё очен понятно и приятно слушать. Огромное спасибо вам за ваш труд ) very big like
@user-sy2gx5zg8b4 жыл бұрын
Народ ! Если что не поняли, можете посмотреть лекции Тимофея Хирьянова : Практика программирования на Питон 3. Сам начинал учить Питон там. Всего 14 лекций. Обязательно посмотреть, хотя б первую половину. Хоть 7, 8 лекций. Или просто спросите у Наиля, он с радостью ответит !
@user-sy2gx5zg8b4 жыл бұрын
Советую ! Ну а что там не понял подчерпнул у Наиля. Мне лично Наиля легче понимать, ведь он расжевал и в рот положил, а там физтех. Но, все равно там все предельно понятно. И то, что я там некоторые вещи не понимал не значит, что там все непонятно или я туп. Мне 20 марта только 13 стукнуло. И, к тому же, меня тянет к автомобилям. А вобще, то по точным наукам я - спец в классе. Даже по городу участвовал с матеши и 3 место занял. Ну и вобще, с математики( алгебра, геометрия) во всяких олимпиадах побеждал ( например, кенгуру). Нет, я не хвалюсь, да и не суть. Просто хочу сказать, что может всякий и, что я не все понимаю, ведь не совсем в теме, но и не тупой. Короче, удачного обучения и не забудьте поддержать Наиля лайкосом, а лучше - и подпиской !
@user-xd4qz7dn9p11 ай бұрын
Добрый день! подскажите пожалуйста, не понимаю один момент. почему когда я пишу код с нуля, то при выводе "print_matrix..." выдает ошибку. def create_2d_arr(m, n): arr_2d = [] for i in range(m): internal_arr = [] for j in range(n): internal_arr.append(0) arr_2d.append(internal_arr) return arr_2d arr_5_10 = create_2d_arr(5, 10) print_matrix(arr_5_10) --------------------------------------------------------------------------- NameError Traceback (most recent call last) Input In [3], in () ----> 1 print_matrix(arr_5_10) NameError: name 'print_matrix' is not defined
@10tabs354 жыл бұрын
Сделал вторую задачу с циклом for и list.reverse(). Но Ваше решение просто гениально
@lukandrate98663 жыл бұрын
С этой функцией всё облегчается
@user-sv3sd9df2l4 жыл бұрын
Годно, давай новый урок) Круто получается объяснять и понятно
@yamataa3 жыл бұрын
задачи реально заставляют думать я пытался найти подсказки в интернете по поводу второй задачи и сделал def ren_matrix(l): return l[::-1] print(ren_matrix(text)) в итоге всетаки неправильно ) но зато подумал) хорошо объясняешь спасибо за уроки!
@talgatb.40302 жыл бұрын
Почему у меня в VS code решение 1 задачи выдает только одну строку из 10 нулей. (переписал все как в ответе)
@tohaaleksandrov56703 жыл бұрын
вышло как-то так, зато работает def vunc(any_sheet): save_list = [] for i in any_sheet: list3 = [] for j in i[::-1]: list3.append(j) save_list.append(list3) def func(a): for l in range(len(save_list)): for t in range(len(save_list[l])): print(save_list[l][t], end = ' ') print() func(save_list)
@user-zw1bu1xr5e4 жыл бұрын
Здравствуйте. Почему копирование списка в 2д список не происходит например, ведь меняется только место объявления вложенного списка но и при этом каждую итерацию основного списка вложенный очищается: import random def print_matrix(x): for i in x: print (i) def create_2d_arr(m,n): arr_2d=[] arr = [] for i in range(m): for j in range(n): arr.append(random.random()) arr_2d.append(arr) arr.clear() return arr_2d print_matrix(create_2d_arr(7,5) )
@user-de5ck2vg7t Жыл бұрын
Здравствуйте. А я по первой задаче не могу понять, каким образом в варианте решения Наиля мы получаем на выходе именно таблицу. Мой вариант выглядит так: m = int(input("Введите кол-во строк матрицы:")) n = int(input("Введите кол-во столбцов матрицы:")) def create(m,n): arr = [ ] for mas in range(m): arr.append([ ]) for el in range(n): arr[mas].append(0) print(arr[mas][el], end = " ") print() create(m,n)
@Borland063 жыл бұрын
Сначала "захардкодил" вторую задачу, идя по верному пути, но моя версия работала только с матрицами с 3-мя столбцами. Потом прослушал условие внимательнее и понял, что скрипт должен работать для любых матриц, поэтому закодил вот это (про себя подумал, пфф, так еще проще)- def mirr_matr(х): for m in Ali_list: m=m.reverse() return Ali_list def print_matr(x): for arr in x: for element in arr: print(element, end=" ") print() Ali_list = [[1,2,3,4], [5,6,7,8], [9,10,11,12], [13,14,15,16]] print_matr(Ali_list) print() print() print_matr(mirr_matr(Ali_list))
@user-zk2en2wf9u2 жыл бұрын
Или лыжи, или я: def swap_arr(array): for arr in array: temp_list = [] value = len(arr)-1 while value >= 0: temp_list.append(arr[value]) value -= 1 array[array.index(arr)] = temp_list Использовал обратный перебор индексов
@phoenixegoist41232 жыл бұрын
жиза, только по другому реализовал
@johnJohn-yn5oh3 жыл бұрын
Не знаю когда именно, но в питоне появилась возможность элегантно сделать свап для списков и для других типов данных, так мы можем сократить код для зеркального отображения: def mirror_2d_arr(arr_2d): for row in arr_2d: n=len(row) for i in range(n//2): (row[i], row[n-1-i]) = (row[n-1-i], row[i]) return arr_2d #для вызова, если удобно Спасибо за уроки, они пригодятся многим, доступные и понятные!
@BOSSOB10 Жыл бұрын
1 задание import random a = [random.randint(-7, 7) for i in range(10)] print(a) b=[] for i in range(len(a)): if a[i] < 0: b.append(a[i]) print(b)
@user-gj1wj5vm3d2 жыл бұрын
Добрый день. Когда пытаешься делать как вы в программе Pycharm, вызывать элемент по индексу, не получается вызывать!!! Пишет вот такое определение no newline at end of life
@BOSSOB10 Жыл бұрын
4 задание import random a = [random.randint(-7, 7) for i in range(10)] print(a) B=int(input('введите число B')) a.insert(5, B) print(a)
@indiego94592 жыл бұрын
Показалось, что у меня более бестолковый способ решения первого задания, но все тесты с разными аргументами функция прошла успешно:) def arr2(m, n): for array in range(m): for el in range(n): print(0, end=" ") print()
@wladeg2827 Жыл бұрын
такая же тема! также решил
@DimarikCanada4 жыл бұрын
Спасибо за материал, загрузите пожалуйста материал о Tree
@user-mx4yh3ob5s4 жыл бұрын
скажите пожалуйста, а есть ли способ задать массив как в С? например мне нужен массив 100х25. не булу же я его забивать вручную или я где-то что-то упустил в видео?
@derekcollins97394 жыл бұрын
20:15 решение первой задачи это и есть задание массива. Делается через цикл for.
@donfedor0073 жыл бұрын
откуда взялос j в конце?
@user-fq7wz4oo5p Жыл бұрын
Что то в этом уроке ты прям усложнил решение, я сделал покомпактнее вот примеры. Задача на заполнение нулями массива с выбранными параметрами: def massiv_2d (m, n): mass = [[ 0 for i in range(m)] for j in range(n) ] print (mass) massiv_2d (6,5) Задача на зеркало: mas=[[1,2,3], [4,5,6], [7,8,9]] print_mas(mas) print("Зеркало масива") def zerkalo (mas): for i in range(len(mas)): t=len(mas[i])-1 while t>=0: print (mas[i][t], end = " ") t-=1 print () zerkalo(mas)
@BOSSOB10 Жыл бұрын
2 задание import random a = [random.randint(-19, 19) for i in range(10)] print(a) for i in range(len(a)): if a[i] > 0: first_pos_index = i break else: first_pos_index = len(a) a[:first_pos_index] = [100] * first_pos_index print(a)
@user-mb1ss3rn6h3 жыл бұрын
Круто
@user-xl1dn4oy4t Жыл бұрын
Можно проще решить: def create_2d_arr(m, n): for i in range(n): print('0' * m) print() arr = create_2d_arr(6, 3) print(arr)
@domino92044 жыл бұрын
Добрый день! Прошу подсказать какие-нибудь видео-лекции или книги для изучения питона. Этот курс очень нравится, но ждать столько времени новых видео нереально(
@user-xi1du6rh7r4 жыл бұрын
Укус питона bute of python отличная книга по изучению основ питонп
@derekcollins97394 жыл бұрын
Курсы от Coursera Основы программирования на Python - от Высшей Школы Экономики Математика и Python для анализа данных - совместный курс от МФТИ и Яндекс Программирование на Python Specialization - курс от МФТИ и mail.ru для более продвинутых Курс Python от Stepic, а также его продолжение Курс Python от Lektorium Курс Python от Intuit (и ещё один) Курс Python от Hexlet Лекции ВМК МГУ Курс с задачами от Stepic, где сложность задаваемых задач зависит от вашего уровня подготовки pythonworld.ru/kursy/free.html
@magnum_fennec2 жыл бұрын
A byte of python
@talisman77762 жыл бұрын
Отчаянно пытаясь решать задачи, только зная питон по предыдущим урокам, волей не волей становишься Джуном)))
@shozanax15303 жыл бұрын
Как аргумент len(Z[k]) - 1 - w из функции mirror стал входным аргументом j в функции swap ?
@ernestdzugkoev20024 жыл бұрын
Не работает, почему? def create_2d_arr(m, n): arr1 = [ ] for i in range(m): arr2 = [ ] for el in range(n): arr2.append(0) arr1.append(arr2) return arr1 arr_5_10 = create_2d_arr(5, 10) print(arr_5_10) если пишу принт матрикс выдает что не опознанная переменная
@christineborovkova46794 жыл бұрын
аналогично
@derekcollins97394 жыл бұрын
.
@Rusya20003 жыл бұрын
а есть ли в jupyter notebook функция отладчика программы, посмотреть как код пошагово работает ? (для циклов как мне кажется само то посмотреть)
@user-jd3qm5ux2u3 жыл бұрын
Нету, если тебе нужен дебаггер советую использовать IDE
@SaXalIneC19933 жыл бұрын
Уроки смотрю, вроде вникаю. Но как практика, так почти не понимаю.
@serjiodanilenko7433 жыл бұрын
Нужно просто гуглить реализации различных решений. И стараться вникать в них подробно, желательно первое время в более простые из найденых. Все приходит с практикой. А практика лучше на мой взгляд строится на опыте различных реализаций в первое время. Плюс доп источники книги, статьи и другие различные видео по питону.
@user-gd3kg3me9w3 жыл бұрын
Гугли, многие программисты тоже так делают
@huhnak3 жыл бұрын
@@user-gd3kg3me9w не многие, а все. Главное отличие хорошего программиста от плохого, это то что он умеет правильно гуглить.
@user-ob6ny6nz8e2 жыл бұрын
Тоже самое) как говорил мой знакомый татарин «я как собака, что говорят по татарски понимаю а говорить немого»:) не хватает практики) лично я начал выписывать функции и синтаксис, как минимум проще потом искать, чем ролики перематывать)
@killasst21682 жыл бұрын
задачу 2 лучше решать так по моему arr_2d = [[1, 2, 3, 5], [6, 7, 8, 10], [11, 12, 13, 14]] def print_m(arr_2d): for arr in range(len(arr_2d)): arr_2d[arr].reverse() for j in range(len(arr_2d[arr])): print(arr_2d[arr][j], end=' ') print() print_m(arr_2d) тогда можно будет создавать бесконечное множество списков и списков внутри списка)
@user-uc7sj7cz9r4 жыл бұрын
после окончания 10 урока что будем делать дадите направление или чтота в этом роде
@alishevN4 жыл бұрын
Будут следующие уроки скоро
@maloleg814 жыл бұрын
Где обучался питону?
@kaezerknomad9326 Жыл бұрын
Даже 2 функции сделал, все норм сработало list1 = [1, 2, 3] list2 = [4, 5, 6] list3 = [7, 8, 9] list_2d = [list1, list2, list3] list_2d2 = [list1, list2, list3 ] def reverse_2d_mtrx (matrix): for n in matrix: n.reverse() reverse_2d_mtrx (list_2d) print(list_2d) def reverse_2d_matrix2 (matrix): for n in matrix: for k in n: j=0 if (len(n)-1) % 2 != 0: j=1 n[len(n)-1-n.index(k)]=k reverse_2d_matrix2(list_2d2) print(list_2d2)
@alexandrak.52392 жыл бұрын
Мне кажется давать такие задачи новичкам как-то сурово. Я не говорю, что все такие, но ведь есть люди в комментариях, которые пишут: «Не получается практика, видимо программирование не мое».
@nu_leh5053 жыл бұрын
def create_arr(line, column): a = [] for line in range(line): a.append([0] * column) print(a) create_arr(5, 4)
@ruslansamigullin6283 жыл бұрын
# Задача 2) def mirror(arr_2d): for arr in arr_2d: arr2 = arr.reverse() arr = arr2 return(arr_2d)
@GANGST1ER4 жыл бұрын
Вторую задачу сам не решил, немного запутался. #Задача 1 def create2dArr(m, n): arr2d = [] for i in range(m): arr2d.append([]) for j in range(n): arr2d[i].append(0) return arr2d def print_matrix(l): for i in range(len(l)): for j in range(len(l[i])): print(l[i][j], end=" ") print() a = create2dArr(3, 3) print_matrix(a)
@d__k71424 жыл бұрын
Когда следующее видео будет? Ждемс
@user-sy2gx5zg8b4 жыл бұрын
НЕ ПОНИМАЮ, КТО за все старания Наиля ставит ему дизлайк !? Так и будут змейку до конца жизни программировать ! Лично мне - норм, ведь все на высшем уровне. Если уже не поняли или что - то не так, просто напишите в комментах. Наиль обязательно ответит ! За что дизлайк - то !?
@user-sy2gx5zg8b4 жыл бұрын
Ну... почти понимаю ... У всех есть свои вопросы...
@user-sz6cv1bo1l3 жыл бұрын
#сделал опять через while потому что с ним для меня проще )))0 (кст теперь трачу меньше 10 минут на решение задач, способ за обучение ) text = [[1,2,3,10],[4,5,6,11,],[7,8,9,12]] a = 0 b = 0 e = [] r = [] while a < len(text): w = len(text[a]) - 1 while w >= 0: e.append(text[a][w]) w = w - 1 r.append(e) e = [] a +=1 for i in range(len(r)): for j in range(len(r[i])): print (r[i][j],end = " ") print ()
@relaxchanelmix3 жыл бұрын
задача очень хорошая но я не понимаю логику я понимаю что делают те или иные функции но не понимаю как они взаимодействуют друг с другом
@JohanLiebert20032 жыл бұрын
Задача 2: (С красивым выводом в консоль без запятых) print("Введите кол-во строк ="); m = int(input()) print("Введите кол-во столбцов ="); n = int(input()) if n == m: a = [] h = 1 for i in range(m): d = [] for k in range(n): d.append(h) h += 1 a.append(d) for arr in a: for el in arr: print(el, end = " ") print() for j in range(len(a)): for l in range(len(a[j])): a[j].sort(reverse=True) print() for arr1 in a: for el1 in arr1: print(el1, end = " ") print() else: print("Не Удовлетворяет условию задачи")
@vzvanov4 жыл бұрын
Не знал как сделать целочисленное деление. Поэтому сделал без деления. def mirror_matrix2d(matrix): for string in matrix: len_str = len(string) - 1 for left in range(len_str): right = len_str - left; if left < right: string[left], string[right] = string[right], string[left] else: break
@steelheelru4 жыл бұрын
Я сделал чуть по др. вторую задачу (вроде тоже работает): a = [[1, 2, 3, 5, 6], [4, 5, 6, 4, 3], [7, 8, 9, 5, 9]] def mirror_2(a): for i in range(len(a)): for j in range(len(a[0]) - 1, -1, -1): print(a[i][j], end=' ') print() mirror_2(a)
@BOSSOB10 Жыл бұрын
3. import random a = [random.randint(-7, 7) for i in range(10)] print(a) min_elem = min(a) min_index = a.index(min_elem) del a[min_index] print(a)
@lunamarsword4 жыл бұрын
super
@vitekofp3 жыл бұрын
И тут я понимаю, что у меня проблемы с абстрактным мышлением. Почему-то не выводятся строки в столбик в первом задании. Всё идет одной строкой. А при print_matrix() выдает NameError. Что не так, не понимаю. def create_2d_arr(m, n): arr_2d = [] for i in range(m): cer = [] for j in range(n): cer.append(0) arr_2d.append(cer) return arr_2d arr_5_10 = create_2d_arr(5, 10) print(arr_5_10)
@sergeyinkognito72364 жыл бұрын
Решил вторую задачу методом буфера, по моему прикольно получилось) : def printMatrixV1(l_arr2d): for row in range(len(l_arr2d)): for column in range(len(l_arr2d[row])): print(l_arr2d[row][column], end = ' ') print() arr2d = [[1,2,3,4],[8,5,6,56],[43,7,8,9],[45,434,47,78]] m = 4 print("Original matrix:") printMatrixV1(arr2d) print("Reflected matrix:") for i in range(m): temp_list = [] for j in range(len(arr2d[i]) - 1,-1,-1): temp_list.append(arr2d[i][j]) arr2d[i] = temp_list printMatrixV1(arr2d)
@wellbe89182 жыл бұрын
Для начинающего пайтониста солоноватая логика 3 задачи, как по мне) Кто решил так же как и я?) Вроде все работает arr_2d = [ [1, 2, 3], [4, 5, 6], [7, 8, 9] ] def mirror_2d_arr(arr_2d): for arr in arr_2d: arr.reverse() print(arr) print() mirror_2d_arr(arr_2d)
@user-md3pv1to4l3 жыл бұрын
Зачем все усложнять в последней задаче? def reverse_arr_2d(arr_2d): for arr in arr_2d: arr.reverse() return arr_2d
@user-dz1uq5sd5b3 жыл бұрын
с точки зрения решения конкретной задачи - да, это наиболее простой способ, однако в процессе обучения полезно придумывать и свои алгоритмы)
@jackdeo45644 жыл бұрын
первая задача def create_2d_arr(m,n): for t in range(0, m): for k in range(0, n): print(0, end= ' ') print()
@donfedor0073 жыл бұрын
print ('Создатель Матриц-2000') m = int (input('Ввидите количество строк:')) n = int(input('Ввидите количество столбцов:')) k = int(input('чем заполнять:')) def great_2d_arr(m, n): a=[[k]*n]*m for i in range(len(a)): for j in range(len(a[i])): print(a[i][j], end=' ') print() great_2d_arr(m, n)
@RockstarAlexander3 жыл бұрын
👍👍👍
@definitely7773 жыл бұрын
Сначала решил задачу, но потом захотелось всё автоматизировать до конца))) def create_2d_arr(m,n): #создание матрицы arr_2d = [] #создаём массив for i in range(m): internal_array = []#создаёт m пустых массивов for j in range(n): internal_array.append(0)#добавляет в пустые массивы нули n раз arr_2d.append(internal_array)# добавляет созданные массивы в основной массив. q = 1 #вставляем числа от 1 до n вместо нулей for x in range(len(arr_2d)): for z in range(n): arr_2d[x][z] += q q += 1 return arr_2d ############################################################### def reverse_arr(array_n_m): #переворачиваем матрицу for i in range((len(array_n_m))): array_n_m[i].reverse() return array_n_m ############################################################### def print_matrix(n): #для преобразования матрицы в нормальный вид for i in range(len(n)):#проходим по спискам for j in range(len(n[i])): #проходим по элементам print(n[i][j], end = ' ') print() m = int(input())#вводим m при запуске программы n = int(input())#вводим n при запуске программы result = reverse_arr(create_2d_arr(m,n)) print_matrix(result)
@zhenypikolo70422 жыл бұрын
Я это так сделал mn=[[1,2,3],[4,5,6],[7,8,9]] def zed(mn): for d in range(len(mn)): mn[d].reverse() for n in range(0,len(mn[d])): print(mn[d][n],end=' ') print() zed(mn) ВЫВОД: 3 2 1 6 5 4 9 8 7