Алгоритмы на Python 3. Лекция №3
HTML-код
- Опубликовано: 11 окт 2017
- Практика: judge.mipt.ru/mipt_cs_on_python3/
Telegram-группа: t.me/tkhirianov_mipt_cs_on_py...
Спонсировать: / tkhirianov или www.paypal.me/tkhirianov
курс: Информатика. Алгоритмы и структуры данных на Python 3.
лектор: Хирьянов Тимофей Фёдорович
прочитана 19.09.2017
Темы, рассмотренные на лекции №3:
- Позиционные системы счисления
- Литералы чисел в Python
- Разложение числа на цифры.
- Однопроходные алгоритмы без реализации.
Тайм-коды: Системы счисления
0:00 унарная система счисления
3:36 непозиционно-позиционная система счисления (base/основание = 60) часы
4:25 Число. Цифра - символ для кодирования (записи) числа
8:00 разложение числа на цифры
15:00 позиционные системы счисления. Двоичная система счисления
17:26 незначащие нули
18:30 Бит. Двоичный разряд .Диада
22:05 таблица систем счисления (2-ная, 4-ная, 8-ная (триада в двоичном выражении), 10-ная, 16-ная)
32:10 развернутая форма записи числа. Перевод из одной системы счисления в другую
34:31 к двоичному коду можно дописать нолик слева или справа.
Добавление нуля справа увеличивает число в 2 раза. Незначащий (слева) ноль не меняет числа
37:23 шестнадцатеричная система счисления. Тетрада
42:05 Байт. Тетрады двоичных цифр. 2 тетрады = 8 диад (8 бит) = 1 байт
46:52 схема Горнера. Интерпретация числа. Перевод из одной системы счисления в другую
53:42 системы счисления в Питоне. Есть возможность напрямую писать в 2, 8, 10, 16 - ных системах
54:03 Литералы чисел в Python. Двоичная: x = 0b1111 (0b # binary/ бинарный)
54:52 восьмеричная: x = 0o07
55:15 шестнадцатеричная: x = 0xFA0B
55:30 конструктор числа до 36-ной системы счисления. t = int('Z3F', 36) = int('Z3F', base = 36)
57:17 print(x) - выводит любое число в десятичной системе счисления
58:02 bin(x) - возвращает строчку двоичного кода
58:53 oct(x) - восьмеричное представление числа
59:11 hex(x) - 16-ное
1:00:32 код, который добывает из числа цифры и собирает в к-л произвольной системе счисления
Перевод числа в другую систему счисления
1:02:35 печать без перехода на новую строчку: print(digit, end = "")
end - именованный параметр. указывает, чем закончить напечатанную строку. '
' - новая строка
1:04:26 взять последнюю цифру (х % base). зачеркнуть последнюю цифру (х //= base)
1:06:34 однопроходные алгоритмы. Подсчет, сумма
1:11:10 произведение с 1
1:11:30 максимум m = max(m, x)
1:12:44 поиск числа в потоке f = f or (x == x0)
Слушай .... А ты золотой человек )
@@nuradiledilov784 Спасибо!
Спасибо, так удобнее )
Умничка )
@@DenBat_75 Спасибо)
Харизматичный, приятный лектор, спасибо за свободный доступ к этому курсу, очень приятно видеть подобную работу
EF BB BF - сразу понятно далее кодировка UTF-8
Слишком многословен и самовлюблен.
Дон Пампа откуда самовлюблённость вывели?
у такого человека приятно учиться а материал схватывается на лету. А то бывают военщины как в уставе все отпулеметят и потом на семинарах потеешь.
@@user-bh5gt3ew9t добро пожаловать в военмех)
В конце фразой "С богом" он описал весь процесс програмирования
Ппхпхпхпх
Ахах, особенно C++ со своими массивами
Кроме того, Хирьянов человек верующий.
Начинать лекцию про питон с древнего египта это круто)
Смотреть лекцию про питон не смотря на то что лекция про алгоритмы и структуры данных да это круто. Пытайтесь хоть смысл заголовков понять.
Подумал это сарказм, начал смотреть лекцию и понял, что это не так)))))
@@shakhzod8583 вы, наверное, хотели написать не "сарказм", а "метафора" (или "гипербола", зависит от того, что вы имели в виду)
"Давайте начнем с небольшого экскурса в историю."
@@Serg_88 я думаю, всё же сарказм. Типо "ахахах, древность полнейшая, такого уже давно нет"
когда был студентом, то хотелось максимально быстро закончить пары и свалить домой, сейчас смотрю лекции и в голове: "ещё расскажи! нужно больше информации!"
плохо, что осознание того, что "нужно выбрать своё направление и учиться, а не штаны просиживать на лекциях" приходит ближе к 30 годикам
Расскажи о себе? Ты чего-то добился к 30 лет?
ровно на такой же мысли себя поймал! 38 лет.
@@user-bj5qj3eu9g я тоже 30ти летний Джун разраб в компании самостоятельно вошёл в айти без каких либо курсов, я горжусь этим и иду по этой дороге дальше!
@@railbatyrshin7349 Поздравляю, сколько обучение заняло времени и как Вы смогли пробиться в компанию? Просто резюме высылали?
@@nellysvet7977 резюме конечно отправлял во все подряд, что касалось Frontend разработки. Выполнял тестовые, при этом читал книги и решал задачи и т.д. Сначала прошел стажировку и через 3 месяца стал джуном) в команде все 18-23 летние))) мне весело с ними
Для тех кому интересно:
1 - черта
10 - пятка
100 - петля верёвки
1000 - кувшинка/лотос (похожа на флюгер)
10^4 - палец
10^5 - жаба (головастик)
10^6 - человек севший на 1 колено с поднятыми вверх руками
10^7 символ Амона Ра Ω
Рамзес, перелогинься ))
Как здорово взять и прослушать лекции в Москве в ВУЗе, самое главное, что кроме желания и доступа в интернет ничего не нужно!!! Замечательно, спасибо огромное!!!
Вуз не в Москве, а в Долгопрудном)
Я тоже восхищаюсь. Сидя дома получаешь высшее образование. А если делаешь из дома, значит нужно. :) А тут и годно до кучи. Спасибо.
хомячки) Познавательно было 1.5 часа слушать лекцию про числа?) Мой братик с 3 класса даже ничего нового бы не узнал. Просто вы таталы всё)
отсталые*
2020 на самоизоляции, сижу, смотрю на одном дыхании)), спасибо за доступный материал.
аналогично) сохранил этот плейлист еще год назад, только сейчас нашлось время
та же картина, смотрю на карантине)
Тоже самое)
+
Обычный материал.
Не имею никакого отношения к информатике (я врач по образованию), а посмотрел 3 лекции с интересом, вот что значит хороший лектор
в наше время все так или иначе связаны с информатикой. Но да, препод хорош
Всё ли поняли?)
@@amigoo2 да
Очень доступно! Если Все преподаватели так преподносили материал, было бы больше грамотных людей. Спасибо Вам!
Богу слава за всё. Благодарности можно перечислять в фонд "Милосердие.ру"
слишком много грамотных тоже плохо, рабочая сила всегда нужна. Именно так и думает министерство образования РФ судя по тому что происходит в школах
@@user-zc9fe7ob1p
Можно судить даже не по тому, что происходит, а по непосредственным декларациям целей, задач, концепций и стратегий. А если взять высказывания "не правящего" (формально) класса (н-р, Грефа Г.), то можно понять, что нам здесь совсем не рады.
@@user-zc9fe7ob1p У министров с роботизацией туго, а вот с рабами хорошо
okyskaa РАБотизация? Интересный подход.
ах вот для чего эта швабра была нужна!
прямо по Чехову!
если во второй лекции у доски стоит швабра - в третьей она обязательно выстрелит )))
заменяет дробовик)
Если в первой серии индийского фильма на стене висит ружьё, то в четвертой серии оно обязательно станцует и споет :-)
Программист использует швабру не только для стирания устаревшего кода :)
Спасибо за лекции. А эта, ИМХО, лучшее объяснение систем счислений, которые я видел.
Аж дыхание захватывает, если бы меня так учили преподы!! Спасибо огромное, это самое лучшее объяснение системы счисления которое только можно представить. С таким преподавателем можно учиться хоть всю жизнь..
Какой стильный синий костюмчик!))) Помимо того, что один из лучших преподавателей, что я видел.
Я то думаю, какой трубой ты везде. А это Ютуб оказывается по твоим подпискам мне подкидывает предложку
вообще космос, как доносит информацию.... хочу такого учителя 20 лет назад
Огромнейшее спасибо за то, что у меня есть возможность фактически поприсутствовать на ваших лекциях, не говоря уже о том, что эта возможность бесплатна и одновременно бесценна.
Алгоритм на 1.04.33 выведет преобразованное число в обратном порядке, т.е. 13 при переводе в двоичную напечатается как 1011, а не 1101. Для правильного вывода надо накопить результат в строке res = str(num%base) + res а потом уже выводить
Лектор сказал об этом ранее.
Спасибо за лекцию
Спасибо огромное 👍
Все очень четко и без лишней воды, приятная, доступная и интересная подача материала, прям переносит слушателя в аудиторию, чего так нехватает многим платным курсам. По больше бы таких педагогов и лекторов 💪💪💪👍
Спасибо вам. Вы очень хороший преподаватель
Тимофей, спасибо что снимаете эти видео! Очень круто!
Крутейшая лекция!!! Рекомендую ВСЕМ, даже просто для общего развития
Тимофей Фёдорович, Вы потрясающий! Спасибо!
Просто чудесный оратор! Не могу оторваться никак. Спасибо большое!
Тимофей, спасибо! Очень крутая подача материала.
Так интересно рассказывает, приятный голос, манера подачи информации, просто 👏👏👏
Благодарю! Ваши лекции - шедевры. Вы учитель от бога.
Отличные лекции! Спасибо за хороший старт)
Класс, спасибо Вам за лекции, получаю удовольствие от просмотра!
Спасибо. Действительно очень хорошо освежить знания в 40 лет =). Что бы с новыми силами заниматься.
Прекрасный курс: фундаментальный, и в то же время интересный
Случайно заглянул и оторваться не могу. Вот это подача. Очень круто.
Все таки преподавание - это искусство! Долгих лет жизни лектору!!!
Огромное спасибо за такие крутые лекции!
Был у нас на мат-мехе в СПбГУ лектор, тоже с душой рассказывал, только , правда, о матанализе.
Спасибо огромное за лекцию, не оторваться.
Спасибо огромное , Тимофей Фёдорович!!!
если у вас до сих пор не работает проектор дайте знать, я письмо напишу руководству. замечательная подача и лектор, а проектор не фурычит!
афигеть как интересно. С большим удовольствием слушаю. Спасибо большое за такие крутіе лекции
Отличный преподаватель! Наткнулся на эти лекции почти случайно и залип.
Очень интересные лекции, заслушался, понимаю теперь, что имел поверхностные знания. Спасибо!
Лучший лектор которого я видел. Повезло МФТИ! Спасибо вам за доступ!!!
Мне кажется, или преподаватель получает кайф, когда читаят лекцию и объясняет тему. Настоящий мужик. Ах если бы и у нас в Армении таковых было хотя бы 3 во всём Политехническом Институте были.
Спасибо за прекрасное, живое изложение!
Те кто учится в нём не упустите возможность стать её любым учеником. Талантливый человек. Если бы он дал и про безопасность я бы если надо за плату сколько угодно принял бы участие. Вы супер учитель. Спасибо вам за труд. В моём пути в айти занимете большую роль. Пожалуйста продолжайте учить нас. Ведь быть начтоящим учителем это благое дело. Вы супер! Я сам безопаснике учусь. Если можно возьмите меня в свою команду учеников.
Удивительный препод!!!Зажигает!!!
Очень доступно подает информацию. Именно человек своего дела, видно что ему это тоже приносит удовольствие. Удачи такому преподавателю!
Очень классный лектор, со школы вспомнил двоичную систему, подчерпнул отличный материал
Помню в школе тоже было несколько преподавателей которые горели своим предметом. Досихпор с теплом и добрым словом вспоминаю их и те времена. Дай бог им здоровья, и вам огромное спасибо что выкладываете ваши лекции.
"У меня тут есть аналог счётных палочек..." - Я уж думал, сейчас сигареты достанет
это раковый палочки
Долгое время он вылезал у меня в рекомендациях, боялся, что это как еще один индус и ни разу не посмотрел. А сейчас понадобилось найти нормальный курс по алгоритмам и смотрю с удовольствием
Дай бог тебе здоровья, добрый ты человек ! )
Спасибо за прекрасную лекцию!
Он сказал: С Богом! Очень приятно смотреть снова чувствую себя за партой
забил на просмотр вечером сериалов, смотрю лекции Тимофея Федоровича.
Какой же крутой лектор, приятно смотреть!
Отличное преподнесение информации. Супер лекция.
Спасибо Вам за лекцию!
Спасибо за лекции! Только человек, реально и полностью разбирающийся в теме, способен доступно и интересно объяснить и научить.
Я в школе объясняю во многих моментах похоже и скажу Вам то, что входит в хронометраж этой лекции очень поверхностно, но я большего почти и не знаю, а вот этот преподаватель знает. А объясняю я, повторюсь, так же доступно! Парадокс какой-то!!!:)))
Пример программы 1:50:00 с переводом из одной в другую системы счисления выводит цифры числа в обратном порядке. Надо изменить порядок, например с помощью использования строковых переменных:
number_in_string = ""
while x > 0:
number_in_string = str(x % base) + number_in_string
x = x // base
И не забыть вывести на экран потом.
Хоть кто-то заметил, спасибо. Я уж думал там ошибка)
Тут больше ошибка ещё в алгоритме. Например, если у нас будет остаток больше 10, то с помощью строки будет некорректная запись при развороте. Желательно использовать списки для сохранения таких остатков.
Так он изначально сказал, что запись будет задом наперед))
Прошёл PCAP от института Pyhton. Эти лекции очень хорошо дополняют материал.
Спасибо тебе препод, по больше бы таких
Если бы мне так объясняли в институте в свое время, я, наверняка, как минимум нормально учился. Спасибо за труд.
Смотрю одну за другим лекции. Да, действительно лектор - маэстро.
Смотрел про 2ичную систему SC 50 от Гарварда, с лампочками и метро-сексуальным лектором, с Сахарбергом и Б. Гейтсом. Но это объяснение много и много круче! Спасибо большое!
Или CS 50 or XC or SX))) Арифмометр рулит. Браво!
Может, англ плохо просто знаешь? Эти лекции даже близко не валяются по сравнению с вышеозвученным курсом от Гарварда. Херею с местных комментаторов, которые тут сидят восхищаются, видимо, и впраду ничего слаще редьки не ели...
Спасибо, было очень полезно, в школе и университете 20 лет назад такого не рассказывали:)
смотрю в декабре 20 года, лекции бомба
Очень интересно и понятно! Спасибо!
- Унарная система счисления: 0:03
- Египетская система счисления = римская (модифицированные унарные системы с сокращениями): 2:00
- Вавилонская система счисления (непозиционно-позиционная шестидесятиричная): 3:35
- Цифра и число: 4:24
- Двоичная система счисления: 14:58
- Схема Горнера: 46:18
- Запись чисел напрямую в определенной системе счисления: 53:46
- Написание программы на Питоне, которая добывает из числа цифры или собирает число в произвол. сис. счисления: 1:00:32
- Однопроходные алгоритмы: 1:06:33
Если бы все мои учителя были бы такими, я был бы невероятно умным)
Благодарю.
спать пора, не могу оторваться...
ахахахаха та же фигня) сижу уже 5:35
он умер от бессоницы
Ага)
То же самое
Так и знал что в коментах я буду не один, кому ютуб это подсунул а я теперь не могу оторватся. На часах 00:35,.
@@user-er7cs5ho3s я урывками смотрю уже несколько дней, и знаю, что и дальше буду смотреть))
Прекрасные лекции. Живо, интересно, озорно. Наконец в 40 лет я понимаю что и зачем я изучаю. Жаль. только что я не занялся этим 5\10 лет назад. А еще лучше в середине школы не начал готовиться к таким курсам. Только в моем городе даже сейчас такому не учат, не говоря уж про 1999год моего окончания школы.
Запись числа в программе, переводящей одно число в другую будет перевернутой.
А в остальном приятно вспомнить основы)
Добрый день. Я тоже заметила эту ошибку, но переделать код не получилось самостоятельно. Как можно исправить, не подскажите?
@@svetakhamaganova6302 можно воспользоваться методом строки reverse()
@@ArtJug спасибо
спасибо за лекция я уже не могу оторвется на работа смотрю
Лекция супер, мне очень понравилось!)
просто офигенно! и просто и офигенно!
Блин... на самом интересном месте: "ну всё, отпускаю вас", - я аж расстроился.
Смотрим следующую серию!
Большое спасибо за лекции!!!!!!!!!!!
Я человек который вообще никакого отношения никогда не имел и не имеет к информатики,кроме того что у меня был такой предмет в школе и техникуме,но я с таким большим интересом слушал этого лектора....капец,лайк 👍
Спасибо за лекцию. Вдохновленная ей, написала мини-конвертер из 10-чной системы в 2,8 и 16-ю. x=input("Введите число в десятичной системе счисления: ")
a=input("Введите в какую систему счисления его перевести: 2 8 16: ")
if a == "2":
x=bin(int(x))
a=str(x)
a = a[2:]
print("Это число в двоичной системе счисления: " + a)
elif a == "8":
x=oct(int(x))
a=str(x)
a = a[2:]
print("Это число в восьмеричной системе счисления: " + a)
elif a == "16":
x=hex(int(x))
a=str(x)
a = a[2:]
print("Это число в 16-ричной системе счисления: " + a)
else:
print("Ошибка")
что это hex bin oct
Привет из 2022 года, ваши лекции очень помогают, спасибо большое!
Алгоритм из конца урока дописал. Получается полноценный калькулятор, переводит число из любой системы счисления в любую другу систему счисления. Делает это без внутренней функции int в python, только своими силами. n - система счисления может быть больше 36 (выйдет из англ словаря, пойдет дальше по таблице unicode).
def transition(x, base, digit = ""):
while x>0:
if x%base>9: digit = chr(x%base+87).upper() + digit
else: digit = str(x%base) + digit
x //= base
print(f"Возвращаем готовый результат = {digit}")
def any_to_10(source, n, formula=0):
source = list(source)
for i in range(len(source)):
if n10 and source[i] != '0':
if source[i].isalpha(): formula += int(ord(source[i].lower())-87) * (n**(len(source)-(i+1)))
else: formula += int(source[i]) * (n**(len(source)-(i+1)))
return formula
print("Введите n-ичность счисления для вашего числа: ", end="")
r = int(input())
print("Введите соответствующее число для конвертации: ", end="")
x = any_to_10(input(), r)
print("Введите в какую систему счисления перевести ваше число: ",end="")
base = int(input())
transition(x, base)
По нулям справа слева, побитный сдвиг влево >(здесь уже деление). Иногда можно использовать для ускорения вычислений. Думаю будет в тему)
замечательный материал, спасибо!
Какой классный учитель.
А я как раз задумывался сегодня "Почему в минуте именно 60 секунд???" и тут как раз эта лекция! Брааааво!
Спасибо за лекцию!
Спасибо за бесплатные знания!
Молодец, доступно, доходчиво. Спасибо
Спасибо огромное
Вы мне очень помогли!)
хотя и знаю 90% поскольку прошел материал больше года назад , но чертовски интересно слушать лектора ^_^
Ничего не понимаю, но интересно слушать))) бывает же.
Ты самый лучший препод!
Мы это в школе проходили, приходилось самому допирать. Сейчас пересматриваю, вспоминаю что да как
C 53:30 про Питон . 1:03:10 перевод каретки или как его избежать в операторе print.
"-Ты ничего мне не должен.." Супер :)
Классный препод. Молоток
Третье десятилетие 21-го века... (ну, или последний год 2-го, это как считать)
Преподаватель вынужден пачкаться мелом, и "извазюканным" ходить перед студентами.
Плоские экраны, да даже белая доска и стираемые маркеры решили бы проблему и не ставили бы человека в такую ситуацию. Но нет, мелки.
А в первой лекции даже мелки не пищущие были, наколотые в ближайшем карьере.
Лекция замечательная, смотрю подряд, запоем!
Поверьте мне, иногда классика решает.
тяжко усваивается эта лекция... спасибо в любом случае!
спасибо за лекцию :)
лучшее объяснение систем счисления
Крутейший лектор, просто лучший