столько пафоса, я работаю там и там и делаю то и то, а элементарные вопросы просто заганяют в ступор
@Vadickus3 ай бұрын
Задания лучшие наверное как то писать в чат им, или что то в этом роде, потому как очень много переспрашивали. А так все молодцы 🎉
@AndyPronin3 ай бұрын
Да. Хорошая идея. Спасибо
@Bibliophilos3 ай бұрын
Привет Никите Помидору, Лёне Петрову и прочим обитателям эльфийского леса!
@лешавасильев-щ4д3 ай бұрын
А как вы думаете, насколько важно писать чистый код, если это занимает больше времени? я сам недавно выбирал курсы по IT, рассматривал разные компании, но остановился на Skypro. Лично мне помогли их наставники, и я смог найти первого заказчика))
@AndyPronin3 ай бұрын
Код читают чаще, чем пишут. Лучше писать чисто, что бы потом тебе или твоим коллегам не разбирать странное
@AndyPronin3 ай бұрын
Молодцы. Респект им, что помогают. Если захотят заглянуть на канал, буду рад пообщаться. Мой телеграм andpronin.
@ДмитрийВасильевич12343 ай бұрын
кажется что в начале надо было просто строчку из букв сделать и все "абв.." и на ее основе уже делать словарь. Понадобились пробелы? Добавил пробелы. Понадобились цифры? добавил цифры и не надо потом весь код переписывать думая куда там пробелы влепить и почему они не ставятся.
@AndyPronin3 ай бұрын
В принципе, решение) когда упёрлись в проблему, можно было рефакторниг предложить
@fluent698114 күн бұрын
22:40 , я бы прежде чем переносить сервер хотябы для начала зашел в логер, возможно где-то происходит ошибка и логер уже верещит "страшными строчками" от каждого , кто столкнулся с ней.
@КонстантинКурилов-з9еАй бұрын
А нельзя просто для каждой задачи сделать свой словарь? Для полученя списка номеров букв из слова dict1 (ключ: значение) = (буква: число), а для полученя слова из списка чисел dict2 (ключ: значение) = (число: буква). Просто искать ключ по значению не очень удобно, а в нашем случае и числа и буквы алфавита не повторяются и могут быть ключами. И тогда функции станут прямо очень простыми: def str_to_lst(str, dict1): return [dict1.get(key) for key in str] def lst_to_str(lst, dict2): return "".join([dict2.get(key) for key in lst])
@Evgen2Zha5 күн бұрын
Камититься в бесплатку не нормально! особенно таким ребятам, хорошо пишут, рука набита. Какие 40 тысяч не понятно) Не идите на такие деньги никогда. Это важно. Цените свой труд!
@АянЖумагельдиев3 ай бұрын
Доброго времени суток
@mainkun1983Ай бұрын
Не кажется что вот такое оборванное тех задание только запутало кандидатов? Если бы подход к решению подобной задачи был построен итеративно, и четко разделялся между кандидатами, чтобы по завершению одной такски, следующий кандидат мог перейти к выполнению второй, имея у себя на руках хоть какие то данные (готовый словарь) и конкретную реализацию. А не представлять с чем им придется работать и не писать функцию наугад, с путаницей ключей/значений в этом же словаре?
@АлексейСергиевский-в6й3 ай бұрын
Попробуйте вызвать функцию
@als-creator2 ай бұрын
на рутуб дублировать контент не планируете?
@AndyPronin2 ай бұрын
Да. На вк видео и рутуб
@АлексейСергиевский-в6й3 ай бұрын
# формируем словарь согласно первоначальной задачи, до того как барышня изменила задачу что бы сильно облегчить задачу chars = {number: chr(number) for number in range(1072, 1104)} # решение пробегаем по словарику, если находим ключ берем значение, а если нет то оставляем символ не тронутым def convert_string(any_string: str) -> str: return " ".join([str(ord(char)) if chars.get(ord(char)) else char for char in any_string]) if __name__ == '__main__': print(convert_string("привет? как дела?"))
@AndyPronin3 ай бұрын
А если цифра в тексте? Как обратно декодировать?
@АлексейСергиевский-в6й3 ай бұрын
Так же только в обратном порядке.
@okoeochka3217 күн бұрын
Как по мне ее замечание к тз максимально адекватное и показывает глубокое понимание. Потому что сложность алгоритма сильно растет n^2, по сравнению с ее O(n) за 2n памяти. Умение предлагать свои поправки к тз, а не тупого выполнения показало ее с лучшей стороны
@imadna5810Ай бұрын
когда новое видео ?)
@xTANATOSxКүн бұрын
Начали нормалтно, а как писать ,то капец если честно, элементарная задача
@АлексейСергиевский-в6й3 ай бұрын
Печалька😢
@finemechanic3 ай бұрын
В изначальной формулировке задачи фигурировали 33 буквы. Вангую, у вас недостача букв и утечка алфавита. Идея с ord очень хрупкая изначально, не понимаю, почему она вам понравилась.
@AndyPronin3 ай бұрын
А какая лучше? Список из букв?
@Vjqifg3 ай бұрын
@@AndyPronin Думаю да. Причём сгенерировать список можно с помощью ord(), а потом просто добавить "ё" в нужное место def create_code(): chr_list = [chr(x) for x in range(1072, 1104)] chr_list.insert(6, 'ё') abc_dict = {key: value for key, value in enumerate(chr_list, 1)} return abc_dict
@finemechanic3 ай бұрын
@@Vjqifg Явное лучше неявного, магические числа - лучше просто из списка букв.
@Hope-h7x3 ай бұрын
@@Vjqifg магические числа это очень не ок
@Vjqifg3 ай бұрын
@@Hope-h7x Чем они здесь могут навредить?
@АлексейСергиевский-в6й3 ай бұрын
Напомните им про get
@knowledgedose19562 ай бұрын
на каком моменте?
@АлексейСергиевский-в6й3 ай бұрын
Пройдитесь по строке, у словарика есть гет
@dmitriyb24383 ай бұрын
приветствую, а где посмотреть программу курса яндекс практикума? Там учат деплоить готовые проекты, работать с докером, фастапи или джанго может хоть основы взаимодействия бекенда и фронтенда, работа с базой. Или проще самому обучаться по книгам и сайтам?
@finemechanic3 ай бұрын
Джанго посвящена существенная часть курса Python разработчика. Есть раздел про управление удаленным сервером с докером и т.п. FastAPI есть в расширенном варианте курса (дороже). Программы все есть на сайте Практикума. Но мой ответ со ссылкой ютуб тупо спрятал.
@AndyPronin3 ай бұрын
Ютуп не любит ссылки. Да. В целом поиском легко находится
@АлексейСергиевский-в6й3 ай бұрын
@@dmitriyb2438 привет 👋, набираешь Яндекс практикум и вуаля там все есть. По поводу докера и fast-api. Скажу так Яндекс даёт теорию, ставит задачу и сроки выполнения и дальше все сам. Какие то бэст практики не даёт. Из хорошего есть код ревью но по мне не всегда результат тот что ученик хотел бы увидеть. В моем случае я как раз хотел что бы мне показали как надо делать а не то что здесь плохо переделай. У Яндекса есть мидл python там как раз есть все что ты хочешь . только курс не для новичка, скорее для сильного джуна, который может работать самостоятельно и имеет азы проектирования средней сложности приложения.
@АлексейСергиевский-в6й3 ай бұрын
Зачем переводить все в список,можно пробегать по строке
@AndyPronin3 ай бұрын
Тут нет единствено верного варианта. Задача на собесе не задачку решить, а посмотреть, как человек думает
@npc-r3902 ай бұрын
Скуфчик совсем обленился и собесит сразу двух
@АлексейСергиевский-в6й3 ай бұрын
Пустая строка
@bucher63822 ай бұрын
print({i-1071: chr(i) for i in range(1072, 1104)}) как то так
@4got10_man23 ай бұрын
RUSSIAN_ALPHABET: str = "".join(chr(code) for code in range(ord("а"), ord("я") + 1)) def encode(text: str) -> list[int | str]: """Encodes the text""" encoder: dict[str, int] = { letter: number for number, letter in enumerate(RUSSIAN_ALPHABET, 1) } encoded_text = [encoder.get(char, char) for char in text] return encoded_text def decode(encoded_text: list[int | str]) -> str: """Decodes the text""" decoder: dict[int, str] = { number: letter for number, letter in enumerate(RUSSIAN_ALPHABET, 1) } decoded_text = "".join(decoder.get(code, code) for code in encoded_text) return decoded_text
@@finemechanic у нас нет буквы ё, точнее она находится отдельно от алфавита. тут уж либо писать руками весь алфавит, либо жить с 32 буквами. но предусмотреть да, стоило
@finemechanic3 ай бұрын
@@4got10_man2 Я и говорю, алфавит строится с ошибкой.
@narkotr4fic8433 ай бұрын
Для таких задач чем выдумывать велосипед, проще просто 33 клавиши в строку загнать руками за 10 секунд, и спокойно энумерейтом вернуть искомый словарь. Алфавит же русский масштабировать никто не планирует, н
@SimpleMRish6 күн бұрын
Отличное решение! И то что буква ё не кодируется ничего страшного. Просто она как спец. символ отображается как есть в закодированном списке. В качестве оптимизации можно всё-таки обернуть получение словаря в функцию и передавать диапазон букв. Например, get_encoder_dict('A', 'Z'), get_encoder_dict('а', 'я') и т.д. Тогда решение получится более универсальным.