Провоторова Алина python разработчик собеседование

  Рет қаралды 5,095

Андрей += Пронин

Андрей += Пронин

11 ай бұрын

Активность Олега в теме активного обмена опытом между разработчиками: t.me/it_horizon_club/6
t.me/KZbinPronin
Чат для общения pyhton разработчиков и им сочуствующих. Свободное общение, тестовые и вопросы с собесов и прочее. Заходите, там вам рады.
Поддержать канал: www.tinkoff.ru/rm/pronin.andr...
Обычно денежка идёт на книжки про питончик. Но иногда на светлое и тёмное.
Если Тиньков не даёт перечислить, стукните в личку телеги andpronin, придумаем что нибудь
Виш лист
Хорошие книги по Питончику, которые могу рекомендовать (и хочу купить с вашей помощью).
Изучаем Python. Двухтомник. Марк Лутц. Очень подробно и структурно (Хочу дождаться 6го издания.. )
• Изучаем Python с Марко...
Читаем и разбираем ее тут
Куплено (огромное спасибо зрителям)
Знакомство с Python | Бейдер Дэн (2023) - выглядит приятно для новичка
Чистый Python. Тонкости программирования для профи | Бейдер Дэн (2022) - хорошо для продолжения
Высоконагруженные приложения. Программирование, масштабирование, поддержка | Клеппман Мартин
Python. К вершинам мастерства | Рамальо Лучано - 2е издание - сложно для новичка, но интересно
Паттерны разработки на Python: TDD, DDD и событийно-ориентированная архитектура -- хорошо про то, когда какой фреймворк применять
Видимо, дальше появтся еще нескромные желания. Но пока - так
Моя тележка andpronin -- стучите, если что.
Мой канал про обучению python с нуля и до мидла Андрей+=Пронин
/ @pypronin
Я в других сетях
🔗Вконтакте: CaptPronin
🔗Дзен: zen.yandex.ru/id/5fbd33919412...
#python #питон #программирование #Андрей_Пронин #собеседование #

Пікірлер: 33
@AndyPronin
@AndyPronin 11 ай бұрын
Активность Олега в теме активного обмена опытом между разработчиками: t.me/it_horizon_club/6
@ssharp666
@ssharp666 11 ай бұрын
Ура ждём 🎉😮
@Taron8117
@Taron8117 10 ай бұрын
Думаю нужно пересмотреть формат собесов. Первая часть вопросы по питону, может по джанго, а потом задача хитрая, но не настолько муторная. Так можно шире оценить навыки человека. Имхо.
@TheDoartLos
@TheDoartLos 10 ай бұрын
Спасибо, освежил память с регулярками, можно просто захардкодить по убыванию словарь {арабское число: римское число} (включая случаи с 4, 9, 40 и тд) И реугляркой проходишься по key словаря уменьшая num не оно не будет равно 0 Вкусная задачка, особенно когда уверен что оч легко можно решить регуляркой и вспоминаешь пол часа как правильно прописать ее)
@zakirovio
@zakirovio 10 ай бұрын
помню решил эту задачу на лите и увидев тут, решил попробовать еще раз) не получилось с ходу, некоторые не правильно конвертирует) думаю на собесе, было бы в двойне тяжелее разобраться) пойду добивать)
@Konstantin_Stalnov
@Konstantin_Stalnov 11 ай бұрын
Олегу - Респект! Молодец!
@user-eo9kz8ru9d
@user-eo9kz8ru9d 10 ай бұрын
Приятная девушка! Желаю чтобы у нее все получилось!
@beardedman721
@beardedman721 11 ай бұрын
Ну почему нельзя тупо взять и добавить в словарь к остальным символам {"CM":900, "CD":400, "XC":90, "XL":40, "IX":9,"IV":4} и обрабатывать точно также, как и начинала? 🤷🏻‍♂️ зачем создавать себе сложности, и изобретать велосипед с bad_number =[] ..
@angel-astrocrafter
@angel-astrocrafter 11 ай бұрын
Что я понял из видео, что возможно правильно что оставил программирование, когда никто меня не брал. Ничего бы из этого не вытянул и выгорел быстро.
@bomarshee
@bomarshee 10 ай бұрын
Как раз с leetcode задачка.
@user-yh9wh6dl1m
@user-yh9wh6dl1m 11 ай бұрын
Один из вариантов решения: *Сверху ещё добавить dict для всех возможных вариантов римских букв (включая 4, 9, 40, 90 и т.д.). Ключ - арабская цифра, значение - римская буква (или 2 буквы). И вот такая функция всё это переберёт: def arabic_to_roman(arab_num: int) -> str: result_rome: str = "" if arab_num = 5000: raise ValueError("Incorrect value. Number should be from 1 to 4999") str_num = str(arab_num) for i, v in enumerate(str_num): check_num: int = int(v) * 10 ** (len(str_num) - 1 - i) for key, value in rome_arab_match.items(): count: int = check_num // key if count >= 1: result_rome += value * count check_num: int = check_num % key continue if check_num == 0: break return result_rome
@anton_1992
@anton_1992 10 ай бұрын
не корректно работает
@xewuss3750
@xewuss3750 11 ай бұрын
"Легион в Древнем Риме состоял из 2000 - 10 000", как же их считали? Хороших решений не придумал и в гугле не нашёл. Я б сделал 4 списка и из них брал значения.
@user-xb9ig7eq4e
@user-xb9ig7eq4e 10 ай бұрын
14:06 - Начало тех части
@milov52
@milov52 11 ай бұрын
convert_dict = { 1000: 'M', 900: 'CM', 500: 'D', 400: 'CD', 100: 'C', 90: 'XC', 50: 'L', 40: 'XL', 10: 'X', 9: 'IX', 5: 'V', 4: 'IV', 1: 'I' } def convert(number : int): result = '' for key, value in convert_dict.items(): n1, n2 = divmod(number, key) if n1 >= 1: result += n1*value number = n2 return result как то так получилось, вроде правильно
@EduardMalinochka
@EduardMalinochka 11 ай бұрын
Видно, что расстроилась, но ничего страшного в не решении такой задачки нет. Если и будет лайвкод на собеседовании, то задача с большой вероятностью будет значительно проще. Здесь все таки не тривильная, и как основной алгоритм изобрести, и как эджи решить. Без задроченного литкода ее быстро не решить. А увидеть слабое место на собеседовании это всегда очень ценный опыт. Сильно мотивирует эту слабость закрыть. Удачи
@beardedman721
@beardedman721 11 ай бұрын
27:04 как она сделала символ >= ? 🤔
@user-eo9kz8ru9d
@user-eo9kz8ru9d 10 ай бұрын
Ого
@Spaut
@Spaut 10 ай бұрын
Включена поддержка лигатур в PyCharm, с некоторыми шрифтами такое работает, заменяет != на ≠ и прочие >= на ≥
@beardedman721
@beardedman721 10 ай бұрын
@@Spaut хм, не знал, что так можно)) Спасибо за ответ 👍🏻
@marat_shaydulin
@marat_shaydulin 10 ай бұрын
rom_sym = { 1: "I", 5: "V", 10: "X", 50: "L", 100: "C", 500: "D", 1000: "M", } def convert(num): ans = "" divisor = 1000 while divisor: res, num = divmod(num, divisor) if res < 4: ans += rom_sym[divisor] * res elif res == 4: ans += rom_sym[divisor] + rom_sym[divisor * 5] elif res == 9: ans += rom_sym[divisor] + rom_sym[divisor * 10] else: ans += rom_sym[divisor * 5] + rom_sym[divisor] * (res - 5) divisor //= 10 return ans
@vladislavmamedov4513
@vladislavmamedov4513 9 ай бұрын
ты волшебник!
@Fantomzer
@Fantomzer 8 ай бұрын
Для чисел от 4000 в условие надо дописать elif divisor == 1000: ans += rom_sym[divisor] * res В условиях сравнения с 4 и 9 надо дописать and divisor != 1000
@without-effects
@without-effects 10 ай бұрын
Добрый день как попасть на собес?
@AndyPronin
@AndyPronin 10 ай бұрын
Студент практикума?
@without-effects
@without-effects 10 ай бұрын
@@AndyPronin нет, яндекс практикум?
@AndyPronin
@AndyPronin 10 ай бұрын
@@without-effects ага. Можно поступить, отучиться и придти) у меня и скидка есть. А второй вариант - скоро будет розыгрыш среди подписчиков. Вот тут t.me/KZbinPronin
@LamerPRO_YouTube
@LamerPRO_YouTube 10 ай бұрын
Боже...бедная девушка! Мне ее почему то жалко стало.
@olegmitaev3255
@olegmitaev3255 10 ай бұрын
Задание сложное.
@7IdE
@7IdE 10 ай бұрын
Я просто всей душой ненавижу эти 2 задачи на римские цифры: они ужасные и отвратительны, поэтому я могу только лишь посочувствовать девушке. Однако: Олег понимал, что это задача слегка отбитая, поэтому он сразу же дал алгоритм к ее решению...и она после этого не решила задачу. А это прям совсем нехорошо. Также крайне сильно триггернуло ее постоянные "я правильно делаю?" - то есть, постоянно ищет поддержку и одобрение, то есть нет самоходности. Но, в целом, код вроде бы норм пишет.
@admi1986
@admi1986 11 ай бұрын
Подумал, что сам решу быстро, но не сразу получилось def convert_to_roman(num: int): result = data[0][0] * (num // data[0][1]) num = num % data[0][1] for i in range(2, 7, 2): r = num // data[i][1] num = num % data[i][1] if r == 9: result += data[i][0] + data[i-2][0] elif r == 4: result += data[i][0] + data[i - 1][0] elif r < 4: result += data[i][0] * r else: result += data[i - 1][0] + data[i][0] * (r - 5) return result data = (('M', 1000), ('D', 500), ('C', 100), ('L', 50), ('X', 10), ('V', 5), ('I', 1))
@AlexeySmykov
@AlexeySmykov 8 ай бұрын
Метод в лоб, конечно, но пока ничего лучше не придумал rim_dict = {1000: 'M', 900: 'CM', 500: 'D', 400: 'CD', 100: 'C', 90: 'XC', 50: 'L', 40: 'XL', 10: 'X', 9: 'IX', 5: 'V', 4: 'IV', 1: 'I'} def turn_to_arabic(num: int): result = num * 'I' for k, v in rim_dict.items(): result = result.replace('I'*k, v) return result
@TVOREC5530XM
@TVOREC5530XM 10 ай бұрын
def arabic_to_roman(number: int) -> str: roman_numerals = { 1000: 'M', 900: 'CM', 500: 'D', 400: 'CD', 100: 'C', 90: 'XC', 50: 'L', 40: 'XL', 10: 'X', 9: 'IX', 5: 'V', 4: 'IV', 1: 'I' } roman = "" for value, symbol in roman_numerals.items(): while number >= 1: roman += symbol number -= value return roman как так она решается ) не так сложно в целом ...
Алтынбаев Артур python разработчик собеседование
52:07
когда достали одноклассники!
00:49
БРУНО
Рет қаралды 4,1 МЛН
Backstage 🤫 tutorial #elsarca #tiktok
00:13
Elsa Arca
Рет қаралды 14 МЛН
UFC 302 : Махачев VS Порье
02:54
Setanta Sports UFC
Рет қаралды 1,3 МЛН
WHY DOES SHE HAVE A REWARD? #youtubecreatorawards
00:41
Levsob
Рет қаралды 43 МЛН
lofi hip hop radio 📚 - beats to relax/study to
Lofi Girl
Рет қаралды 12 М.
19 Вещей, Которые Вы Увидите Впервые в Жизни
12:06
Мастерская Настроения
Рет қаралды 1,7 МЛН
9-А інформатика 13.05
24:41
Игорь Ждамиров
Рет қаралды 18
ديانا تريد أن تشتري سيارة جديدة جميلة
13:49
Собеседование python разработчик. Фадеева Вера
47:01
Андрей += Пронин
Рет қаралды 7 М.
Что нужно знать Junior C# разработчику?
11:50
когда достали одноклассники!
00:49
БРУНО
Рет қаралды 4,1 МЛН