Простыми словами о программировании. Видео 9. Циклы с условием
Всем привет! Объединяем циклы и условия в циклы с условием.
С момента выхода ChatGPT 4, будучи гиком по природе и энтузиастом всякого интересного в IT, я - в начале из любопытства, затем по работе и в итоге с головой погрузился в данную нейросеть, от месяца к месяцу открывая для себя всё новые и новые возможности этого уникального и удивительного творения рук человеческих.
Как обобщить полезность и суть данного явления? Наверное самое простое и ёмкое объяснение будет звучать так:
"Представьте, что у вас круглосуточно на связи взрослый, эрудированный специалист, компетентный во всех сферах человеческого знания и готовый без устали отвечать на любые ваши вопросы".
Что я реализую с помощью GPT4:
Программирование: Я не являюсь программистом, но с помощью ChatGPT мне удалось разработать и написать множество программных комплексов. Например, я создал скраппер для сбора данных из интернет-магазинов, торгового бота, бота-бэктестера торговых параметров и Telegram чат-бота, который имитирует поведение реальных людей.
Создание уникального контента: на основе выявленных предпочтений аудитории, а также любой вводной информации, ChatGPT может предложить набор тематик для контента или даже написать его по заданной тематической сетке. При совместной работе можно создавать большие объёмы уникальных текстовых материалов, а степень вашего участия определит их уникальность и востребованность. Также GhatGPT - прекрасный рерайтер, умело повторяющий стилистику заданного текста.
Обучение любому навыку: программирование, языки, институтские и школьные дисциплины. ChatGPT может поэтапно обучить большинству известных учебных дисциплин и навыков, предоставляя и объясняя материал, создавая уникальные задачи и помогая с их решением.
Обработка текстов: Использую ChatGPT для обработки больших массивов текста и выделения закономерностей. Например, могу делать выборку юзернеймов и определять, принадлежат ли они мужчинам или женщинам.
Психология и коучинг: Обладая энциклопедическими знаниями в области психологии, ChatGPT способен разобраться в сложных и противоречивых ситуациях, найти слова поддержки и предложить пути самостоятельного решения различных психологических проблем и задач.
Медиация: ChatGPT выступает в роли квалифицированного психолога, помогая подобрать и сформулировать нужные слова, речевые обороты и фразы. Это значительно повышает мою эффективность в текстовых переговорах.
Медицина: ChatGPT помогает формулировать терапевтические протоколы для лёгких заболеваний, которые не требуют сиюминутной врачебной помощи.
Решение задач: ChatGPT решает математические, логические, технические и прочие задачи практически любой сложности.
Неформальное общение: На философские, культурные и любые другие темы ChatGPT является замечательным собеседником.
И это далеко не всё. Для полного описания возможностей ChatGPT мне потребовалось бы написать нечто вроде книги или методического пособия. При необходимости я мог бы привести пруфы, промты и любые другие подтверждения по любому из вышеописанных пунктов. Обобщая вышесказанное, ChatGPT стал полноценным компаньоном, сотрудником, другом и помощником.
Если какой-то из вышеописанных пунктов нужно раскрыть подробнее - пишите, с радостью отвечу в комментариях.
Если вам интересно, вы можете попробовать повторить мой опыт — первым шагом может быть использование моего бота.
Пользуясь выходом нового, прогрессивного движка GPT-4o, я перезапустил своего GPT-4 бота на новой модели. Это позволило мне наглядно продемонстрировать мир будущего, который строится уже сейчас, буквально на наших глазах.
Добро пожаловать: t.me/VanyaGPT4bot
Привет Хабр! Меня зовут Денис, я ведущий продуктовый аналитик из МТС, ex-Tinkoff. Также я ментор и любитель конференций, на которых я периодически появляюсь и даже что-то рассказываю. Я обожаю цифры и всё, что с ними связано. Хочу поделиться своим рабочим опытом, а именно, как же продуктовый аналитик может помочь бизнесу стать лучше.
В современном мире данные играют все более важную роль в развитии бизнеса. Они позволяют принимать обоснованные и осознанные решения, а также выявлять потенциальные возможности для оптимизации и роста. Однако, необходимо понимать, что накопление большого объема данных само по себе недостаточно для достижения успеха. Чтобы преобразовать цифры в ценные инсайты, требуется искусство продуктовой аналитики.
Для начала начнем с понимания того, кто такой продуктовый аналитик и какие его основные задачи. Лично для меня продуктовый аналитик - это связующее звено между бизнес командой и цифрами. Обычно говорят, что продуктовый аналитик очень тесно взаимодействует с продакт овнером, и на самом деле это так. Продуктовый аналитик помогает бизнесу увидеть, как пользователи взаимодействуют с конкретным продуктом, можно сказать, что он также является мостом между продуктом и пользователем.
У всех сейчас на слуху data-driven подход, когда цифры помогают бизнесу, здесь как раз таки и появляется продуктовый аналитик, он помогает делать правильные решения на основе данных. Он решает огромное количество задач, начиная от вопроса: "Как удержать пользователей в продукте?" и заканчивая: "Куда нам двигаться дальше?", поэтому это довольно обширная тема для обсуждения, чем же занимается продуктовый аналитик. Но давайте сейчас не об этом и я вкратце опишу задачи продуктового аналитика:
проведение количественных исследований
A/B тесты
ad-hoc запросы
построение дешбордов
внедрение и анализ метрик
изучение поведения пользователей
генерация гипотез
На основе всего этого мы можем точно сказать, что продуктовый аналитик - это человек, без которого не может обойтись бизнес, если он хочет искать новые возможности для роста.
Продуктовый аналитик помогает ответить на вопросы:
Почему это сделали?
Кто и когда это сделал?
Как это сделали?
На мой взгляд, это является самым важным навыком продуктового аналитика. Я всегда стараюсь его объяснить своим ученикам и вот, какой roadmap я смог создать на основе своего опыта.
Хочу разобрать все это на конкретном примере! Давайте представим, что мы продуктовые аналитики в компании, которая занимается продажей цветов и у них есть сайт и приложение, в котором есть возможность заказывать букеты. У нас вроде как все хорошо с нашим продуктом, мы куда-то развиваемся, что-то делаем, но пока что непонятно, на что это влияет.
Все начинается с постановки задачи, например к нам приходит продакт и говорит, что мы видим на дешбордах, что сейчас у нас очень мало клиентов доходит до оплаты и заказа букета, посмотри как это изменить или даже улучшить.
Окей, задача есть, теперь мы можем приступать к дальнейшим действиям!
Находим исторические данные по исследованиям / уточняем у заказчика
На этом этапе нам нужно постараться найти всю историческую информацию по данным, возможно кто-то уже делал исследования и это может облегчить нашу работу. Здесь нужно будет тщательно покопаться в документации и может быть вам повезет найти что-то полезное! Но мы живем не в идеальном мире, и не всегда остаются хорошие задокументированные выводы по исследованиям, поэтому мы можем обратиться к нашему продакт овнеру, а также задать уточняющие вопросы:
есть ли какие-то предположения, почему у нас мало клиентов доходят до оплаты?
были ли какие-то исследования воронки до этого / кто может делал какое-то смежное исследование
были ли какие-то технические сбои?
Здесь я хочу обратить внимание на технические сбои и правильность отображения графиков, потому что может быть так, что у нас просто неправильные данные, а мы уже бьем тревогу, хотя на самом деле все нормально. Уделяйте время проверке данных!
Обязательно также нужно знать про сезонность продукта, потому что возможно просто сейчас такое время, что пользователи просто хотят посмотреть на цветы, но не покупать их. Обратить внимание нужно и на конкурентов, внешние факторы, возможно кто-то стал предлагать точно такие же букеты, как и у нас только по меньшей стоимости.
Вопрос: "Где хранятся данные?" мы задавать не будем, ведь мы продуктовые аналитики знаем, где они лежат - в БД, поэтому в следующем шаге мы будем исследовать наши данные!
Как только мы полностью осознали сущность проблемы, мы переходим к данным. Здесь нужно иметь критическое мышление и понимание составляющих нашей воронки. Например, если говорить про наш случай, то я также обратил бы внимание на предыдущие шаги воронки и посмотрел, как пользователь проходит их.
Посмотрел бы на дополнительные метрики, такие как:
MAU / DAU / WAU
ARPPU
AOV
NPS, CSAT
Время, проведенное на странице
Обратил бы внимание на последние A/B тесты, которые мы масштабировали на всю аудиторию, возможно там будет какая-то зацепка, а также нынешние тесты, которые сейчас идут. Всю информацию я бы визуализировал для большей наглядности. И конечно же посмотрел на данные, связанные с логистикой, возможно у нас выросла стоимость доставки и поэтому увеличилась цена букетов, поэтому никто не хочет их покупать.
Проанализировав данные, мы можем обнаружить изменения в воронке продаж, а также другие изменения в иных метриках, которые до этого были неизвестны и выявить потенциальные проблемные зоны. Например, если мы видим резкое снижение конверсии на определенном шаге воронки, это может указывать на то, что пользователи испытывают трудности или неудовлетворение на этом этапе. Это может стать отправной точкой для формулирования гипотез и проведения дополнительных исследований.
Гипотезы являются основой для предпринимаемых действий. Они формулируются на основе анализа данных и могут быть направлены на оптимизацию продукта, улучшение пользовательского опыта или решение проблемных ситуаций. Гипотезы также должны быть проверяемыми и измеримыми, чтобы можно было оценить их эффективность.
В данном случае, что мы можем предположить:
пользователю непонятно, как проходить воронку
пользователь не хочет проходит полную воронку, потому что ему что-то не нравится
пользователь не может пройти полную воронку, потому что его что-то блочит на техническом уровне
у нас очень много “мусорных” пользователь, у которых нет цели приобрести букет, они просто заходят на сайт, т.е на сайт попадает не та аудитория
технический сбой в данных
На этом этапе мы также делаем выводы и идеи, как это улучшить. Затем мы переходим к “прожарке” гипотезы.
Как только у нас появился список предполагаемых проблем мы должны самостоятельно их провалидировать и понять, насколько вообще это может быть реально? Желательно это сначала проверять с помощью здравого смысла, а затем это подкрепить данными, на мой взгляд это самый понятный способ.
Следующее наше действие - поход к продакт овнеру с пакетом идей, предложений и проблемных мест. Нам требуется тщательно обсудить все наши гипотезы с продактом и вместе сформулировать решение проблем. Всегда важно уметь выслушать мнение другого человека, увидеть его точку зрения - все это очень важные человеческие качества аналитика.
Как только мы выявили предполагаемую гипотезу из-за которой у нас мало людей на шаге оплаты, мы начинаем фиксить проблему, путем обсуждений с разработчиками, маркетологами, другими аналитиками, возможно даже стоит подключить продактов из смежных команд.
И вскоре у нас уже есть готовое решение! Спустя небольшое время, после того, как проблема была пофикшена, мы возвращаемся к данным и видим, что количество пользователей, которые доходят до шага с оплатой начинает по-немногу расти! А это значит, что мы справились с нашей задачей и смогли помочь бизнесу.
В итоге, искусство продуктовой аналитики заключается не только в работе с данными, но и в умении видеть скрытые связи, генерировать гипотезы и преобразовывать цифры в практически применимые инсайты. Это непростая задача, требующая усидчивости, технических знаний и понимания бизнес-процессов, но она может принести значительную стоимость для компании и ее развития.
Спасибо большое, что дочитали это статью, буду рад любым комментарием и критике! Также хочу рассказать, что у меня есть свой телеграмм канал, в котором я делюсь своим опытом и помогаю развиваться другим людям!
Постараюсь ужать многолетний опыт изучения навыков в одну малюсенькую статейку. Расскажу , как на практике освоить набор навыков любого размера, включая все необходимое, чтобы получить первую работу в IT. Объясню пошагово, как создать и придерживаться очень практичного и эффективного индивидуального плана обучения, по которому я сам занимался, в результате чего из полного чайника без диплома и платных курсов за пол года смог влететь в разработку на высококонкурентном рынке с 1000+ откликов на вакансию во времена массовых увольнений сразу в топовую IT‑компанию без связей, накрутки опыта и ментора и даже успешно пройти там испыталку, ведь план обучения позволил накопить багаж полезных знаний.
Правильный план обучения — это 70% получения работы. По этому плану ты сможешь освоить программирование без покупки курсов, то есть стать программистом бесплатно. Да и любой другой скилл или профессию тоже сможешь быстро и бесплатно получить, что сейчас особенно актуально с этим ИИ. Гарантирую, что по этому плану за короткий срок ты добьёшься больших результатов, а это автоматически значит, что потребуется тяжелая работа с твоей стороны. В конце статьи также будет секретный ингредиент, о котором никто не говорит и который может сделать процесс твоего обучения чуть ли не вдвое более эффективным. Ещё я приведу пример реального плана обучения и объясню, почему каждый его пункт настолько логичен, что ты просто не сможешь ему не придерживаться. Цель плана ‑получить максимальный результат при минимальных затратах времени и сил.
Почему вообще нужно составлять план обучения самому? Нельзя что ли чей‑то готовый роудмап найти или курс купить, где план уже есть? Составлять план самому — суперважно, потому что когда ты понимаешь, что и зачем в нём делается и насколько это действительно эффективно, то и придерживаться этого плана становится гораздо проще, так как мотивация просто не пропадает. Да и если что‑то в плане не работает, можно всегда его подкорректировать, это же твой собственный план. Поняв, что работает, а что нет, ты в будущем сможешь создавать эффективные планы для освоения любых навыков, в том числе для выхода в синьеры‑помидоры, т.к. одного волшебного курса по становлению синьером вроде еще никто не запилил. Единственный доступный вариант — самому грамотно выстроить процесс обучения, чтобы результат был максимальным.
Самое простое в создании плана обучения — определить, какие именно навыки нужно приобрести. Для этого можно провести небольшое исследование и посмотреть требования к кандидатам на вакансии твоей будущей специализации. Учти, что учить стоит только то, что так или иначе повышает твой доход. Это значит, что стоит фокусироваться только на необходимых для получения работы знаниях и навыках, отметая все лишнее, в обратном случае будет сложно конкурировать с другими челами. Отметать, нужно, например, ассемблер или внутреннее устройство ОС, которые знать не обязательно и даже вредно. Некоторые говорят, что нужно же знать эту «базу», но объяснить зачем толком не могут. Выбрав необходимые для работы скиллы, нужно понять самое главное — как эффективно учиться. Это будет основой твоего плана обучения. Многим кажется, что они и так умеют учиться, но, если бы все это умели, никто бы не мучился с получением первой работы в IT, так как количество твоих навыков прямо пропорционально шансу получения работы. Основы обучения, о которых пойдет речь, очень практичны и я их сам уже много лет использую:
Практика — это самое важное. Хорошее соотношение практики и теории при обучении для новичков — 80% на 20%. То есть, если ты посмотрел 8-минутное видео, например, про декораторы в Python, то в IDE надо потом не меньше получаса с ними поиграться. Большинство людей практику скипают, потому что это гораздо сложнее, чем видосы смотреть. В итоге они застревают в так называемом «tutorial hell», то есть смотрят много контента, но на практике ничего сделать не могут, поэтому их навыки не развиваются.
Непонимание интервальных повторений — причина, по которой 95% вкатунов сливаются в первые месяцы. Работает это так: когда ты что‑то учишь впервые,то это запоминается на пару дней. Если тему повторить через 2 дня после изучения, то запомнится она уже на 4 дня. Повторишь еще раз к концу четвертого дня — тема запомнится уже на целых 8 дней. Потом на 16, 32 и так далее. Бытует мнение, что в итоге доходишь до момента, где выученное запоминаешь на вечно, так, что повторять тему больше не надо. Хоть это и кажется нереальным, это действительно так работает, однако тому есть научное объяснение: допустим, ты повторяешь тему в девятый раз и теперь будешь помнить её ещё целый год. Если вовсе перестать ее повторять, то всё равно имеется почти 100% шанс того, что за этот год в работе ты случайно столкнёшься с этой темой и тебе придётся естественным образом достать информацию из мозга, просто чтобы совершить намеченное действие. Таким образом тема повторится сама по себе и еще лучше закрепится в голове. Затем вероятность того, чтобы ты случайно встретишь эту тему в работе за следующие 2 года возрастает еще сильнее и тем самым цикл замыкается, в результате чего ты запоминаешь тему как бы «на вечно»
Вот что происходит с теми, кто не применяет интервальные повторения: Допустим, им нужно выучить 15 ключевых навыков или больших тем для получения работы. Большинство новичков учат первые 9 навыков, потом приступают к 10-му, одновременно забывая первый. Потом учат 11-й, параллельно забывая второй и так далее. Они застревают на 9 из 15 необходимых тем или навыков и несмотря на все усилия, не могут преодолеть этот барьер, ведь скорость забывания слишком высока. Причина в том, что они не используют интервальные повторения. Они учат что‑то один раз и двигаются дальше, поэтому постоянно забывают то, что учили ранее. Но если использовать интервальные повторения и регулярно повторять пройденные темы, то можно выучить бесконечное количество навыков и тем, не забывая их. Самое важное в том, что интервальные повторения буквально гарантируют, что ты найдешь работу, потому что они обеспечивают постоянное расширение твоего набора навыков без его уменьшения. Это продолжается вплоть до момента, когда твой набор навыков достигает критической массы и ты становишься настолько хорош, что твой будущий работодатель уже просто не в состоянии игнорировать тебя (естественно надо еще получить навык поиска работы, но это уже отдельная тема).
Для внедрения интервальных повторений можно использовать карточки Anki. Карточки Anki — это приложение, используемое для обучения и запоминания. На лицевой стороне каждой карточки находится вопрос, на оборотной стороне — ответ. Карточки становятся доступны ровно в тот момент времени, в который это необходимо для наилучшего применения принципа интервальных повторений. Эти же карточки включают в себя и не менее важный принцип — принцип активного вспоминания.
Активное вспоминание сводится к следующему высказыванию: твой мозг запоминает информацию не когда ты её откуда‑то получаешь, а именно когда извлекаешь её из мозга. Если, ты, например, прочтешь эту статью и сразу переключишься на следующую, то будешь что‑то помнить из этой статьи еще в течение примерно одного часа. Но если при прочтении статьи периодически останавливаться и объяснять себе концепции своими словами, то можно будет запомнить чуть ли не 100% информации статьи чуть ли не на целую неделю. Тот же результат можно достичь, если прочитать статью и в конце всю ее себе пересказать. Вот почему во время интервальных повторений необходимо как можно больше фокусироваться на активном вспоминании. Кстати, когда человек выполняет практические задания, это тоже автоматически является формой активного вспоминания, ведь ты работаешь с ранее изученной информацией и это является частью причины того, почему практические упражнения так эффективны.
Ты, наверное, задаешься вопросом, зачем запоминать что‑то, если можно просто использовать ChatGPT для получения быстрого ответа.
Чем больше полезной информации ты усвоишь и запомнишь, тем легче тебе будет понимать ответы ChatGPT и, что самое важное, сохранять эти ответы в краткосрочной памяти в виде части решения задачи, над которой сейчас работаешь. Ты также будешь глубже понимать ответы ChatGPT и даже вспоминать идеи, которые не были упомянуты в ответе.
Лучше работать над изучением одних и тех же трех навыков каждый день по часу и сосредотачиваться на них пару недель подряд, чем уделять по 3 часа в день одному навыку в течение нескольких дней и затем переходить к следующему. Это один из важнейших принципов. Я понятия не имею, почему он работает, но не обязательно понимать, как что‑то работает, чтобы это делать и получать ощутимый результат. Попробуй поучиться так и будешь поражен скоростью освоения навыков.
В чем заключается разница между профессионалом и любителем? Профессионал очень хорошо знает основы. Основы служат фундаментом для последующих тем, изучаемых в будущем. Например, чтобы быстрее освоить React, нужно знать JavaScript, и чем лучше ты знаешь этот язык, тем легче будет разобраться в React. Поэтому не торопись и досконально изучи компетенции, служащие основой для других компетенций.
После месяца обучения результаты будут намного лучше, если учить предмет по часу каждый день, нежели чем если учить его 7 часов в день раз в неделю. Это банально объясняется принципом работы интервальных повторений.
Утром, перед началом нового дня, удели 10 минут, чтобы вспомнить все, что учил вчера. Это очень эффективно, так как первое повторение в течение первых 24 часов после изучения темы имеет огромный эффект на запоминание.
Теперь у тебя есть основные принципы создания плана обучения, но что насчет секретного ингредиента? Хотя все вышеперечисленные пункты идеально подходят для эффективного долгосрочного обучения, если ты стремишься получить работу, твоя цель не в том, чтобы изучить как можно больше всего, а в том, чтобы достичь уровня, где у тебя есть крутые проекты и ты можешь успешно пройти собеседование. В этом случае секретный ингредиент — интенсивность. Например: чтобы достичь такого же уровня навыков в программировании, который тебе нужен для успешного прохождения собеса, ты можешь либо потратить 1000 часов за полгода, либо 1500 часов за год. Заметили разницу? За 1000 часов достигается тот же результат, что и за 1500 часов. Это объясняется принципом работы интервальных повторений: чем больше проходит дней, тем больше времени нужно тратить на интервальные повторения, в обратном случае информация просто забудется. Поэтому если сжать временное окно, в которое ты достигаешь необходимого уровня навыков, скажем, с года до полу года, то таким образом можно значительно уменьшить общее количество часов, необходимых для достижения цели, и, следовательно, работать меньше, получая бОльшие результаты. Теперь ты знаешь, что должен включать твой план обучения.
Давай теперь посмотрим, как может выглядеть такой план на примере реального плана становления python backend разработчиком:
Каждая колонка — это день, а каждая синяя ячейка — это как минимум 1 час сфокусированного базированного на практике обучения. Первый месяц ты параллельно учишь Python, SQL и алгосы (алгосы не в смысле заучки конкретных алгоритмов, а в смысле умения структурно думать и решать логичские задачки кодом, как, например, на codewars). Это то, что создает основу для всего остального, что ты будешь изучать. После этого добавляешь дни для вспоминания изученного, чтобы ничего не забыть. Далее начинаешь создавать проекты с использованием Django и подучивать немного фронтенд‑технологий, чтобы можно было потом показать рекрутеру хороший и красивый проект (хочешь работать беком? Учи фронтенд, чтоб тебя рекрутер не скипнул с твоими уродливыми проектами, понял да). Все это делаешь параллельно, а также учишь git для развития своего GitHub. Фокусируешься на создании проектов с Django до тех пор, пока не найдешь работу. Дополнительно добавляешь дни, в которые будешь повторять, что учил, чтобы ничего не забыть. Затем учишь параллельно Linux, PostgreSQL и Docker, завершая процесс изучением Django Rest Framework, одновременно повторяя все, что учил ранее. Как видишь, этот план включает в себя много практики, интервальных повторений и активного вспоминания. Ты учишь по нескольку предметов параллельно и сначала фокусируешься на основах. Ты учишься каждый день, начиная каждый день с 10 минут повторения того, что выучил вчера, что еще сильнее оптимизирует твое обучение. А занятия как минимум по 4 сфокусированных часа (а лучше — по 10) в день обеспечивают интенсивность, которая в полтора раза сокращает общее количество часов, необходимых на получение всех этих навыков.
Короткий ответ состоит в том, что можно просто найти бесплатный курс и следовать ему, лично я предпочитаю использовать для этого YouTube. Бесплатные курсы обычно не содержат практических упражнений, являющихся самой важной частью обучения, поэтому упражнения на определенную тему придется отдельно искать в интернете. Или можно даже поступить еще лучше: когда смотришь курс и видишь пример кода, решающего конкретную проблему, попробуй придумать похожий код, решающий аналогичную проблему и поиграться с этим кодом в среде разработки. Это один из самых эффективных способов практики, который мне удалось найти.
Гарантирую, что, прочитав эту статью, ты потратил своё время зря, если не применил к ней вышеупомянутые принципы, так как забудешь все о чем я тут написал. Давай теперь объясню, как применить основные из этих принципов к любой статье или обучающему видео. Возьмем эту статью, например. Если ты проследуешь следующим нескольким шагам в течение следующих 5 минут, то это будут одни из самых полезных 5 минут в твоей жизни. Во‑первых, возьми свой телефон и скачай приложение под названием Anki Cards. Я не спонсирован этим приложением и не имею к нему никакого финансового отношения, поэтому у меня нет ссылки и тебе придется найти его самому. Шаг 2 — Перестань читать и прямо сейчас и попробуй вспомнить все, о чем я говорил. Объясни себе своими словами все, что удается вспомнить (да, прямо сейчас, я жду). Шаг 3. В зависимости от того, что удалось вспомнить, открой приложение Anki и создай несколько карточек об этой статье. Например: что такое интервальные повторения и как их применять? Что такое активное вспоминание? Какое лучшее соотношение между практикой и теорией для начинающих? Шаг 4. Сформируй привычку открывать это приложение время от времени, повторять карточки и добавлять новые о всем важном, что ты изучаешь в программировании. Лично я таким образом не только запомнил всё, что учил, но и ответил на 98% вопросов на своем первом в жизни собеседовании.
Задача
Есть 6 независящих друг от друга экзамена, не сдать каждый по отдельности шанс 15%, необходимо на выходе получить список значений вероятности не сдать 0 из 6 экзаменов(то есть сдать все), 1 из 6 экзаменов, 2 из 6, и далее по аналогии до 6 из 6 экзаменов
Прошу помочь и объяснить
*Для тех, кто не понимает, что здесь происходит, но очень интересно, и для тех, кому надо больше, - ссылка в конце поста.*
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Задача 1:
Тема: Методы списков
На вход подается список слов в одну строку через пробел. Это список имен. Вы хотите выбрать имя ребенка из списка. Но вы точно знаете, что в этом списке будет имя "Никита" и вы категорически против называть так свою девочку! Поэтому нужно вывести измененный список, удалив из него это имя.
Sample Input 1:
Анна Фрида Герда Фёкла Никита
Sample Output 1:
['Анна', 'Фрида', 'Герда', 'Фёкла']
Sample Input 2:
Никита Павла Максима Виталия
Sample Output 2:
['Павла', 'Максима', 'Виталия']
Sample Input 3:
Маша Василиса Алиса Никита Геродот
Sample Output 3:
['Маша', 'Василиса', 'Алиса', 'Геродот']
# продолжите решение здесь
------------------------------------------------------------------------------------------------------------------------------------------------------------------------Задача 2:
Тема: Множества
Василий - коллекционер воздуха, которым дышали знаменитости. Например таких как Джонни Депп, Тейлор Свифт, Паша Техник. Он заказал пару посылок, в каждой из которых находятся некоторое количество экземпляров воздуха случайных знаменитостей, также возможны повторы. Известно, что всего существует 20 видов экземпляров. Необходимо узнать, а собрал ли Василий коллекцию целиком, учитывая экземпляры обоих посылок. На вход подается список целых чисел от 1-го до 20-ти в одну строку через пробел(1-ая посылка), затем с новой строки еще один(2-ая посылка). Если из элементов обоих списков можно сформировать последовательность от 1-го до 20-ти, вывести "ДА", иначе "НЕТ".
Sample Input 1:
1 3 5 7 8 11 15 17 3 9
11 16 18 20 3 5 7 4 2
Sample Output 1:
НЕТ
Sample Input 2:
1 2 3 4 5 11 12 13 14 15
6 7 8 9 10 16 17 18 19 20
Sample Output 2:
ДА
Sample Input 3:
1 4 6 8 9 2 4 10 13 16 18
11 12 11 3 7 5 14 2 14 15 7 17 20 19
Sample Output 3:
ДА
# продолжите решение здесь
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Задача 3:
Тема: Выражения - генераторы. Функции - генераторы
Используя символы малых букв латинского алфавита запишите выражение-генератор alph_gen, который бы генерировал все возможные сочетания из 2-ух букв алфавита, учитывая порядок. Например, первые семь начальных сочетаний имеют вид: aa ab ac ad ae af ag. Достаточно только создать выражение-генератор.
# продолжите решение здесь
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Понравилось? Залетай! - t.me/Python_Py_Sam
Один ученик (помогал ему физику на первом курсе вкурить) попросил помочь освоить питон.
Ну я по старинке начал с азов - попросил найти большее из 10 чисел
x = int(input())
c = int(input())
z = int(input())
v = int(input())
b = int(input())
n = int(input())
m = int(input())
j = int(input())
k = int(input())
l = int(input())
if x > c and x > z and x > v and x > b and x > n and x > m and x > j and x > k and x > l:
print(x)
elif c > x and c > z and c > v and c > b and c > n and c > m and c > j and c > k and c > l:
print(c)
elif z > c and z > x and z > v and z > b and z > n and z > m and z > j and z > k and z > l:
print(z)
elif v > c and v > x and v > z and v > b and v > n and v > m and v > j and v > k and v > l:
print(v)
elif b > c and b > x and b > z and b > v and b > n and b > m and b > j and b > k and b > l:
print(b)
elif n > c and n > x and n > v and n > b and n > z and n > m and n > j and n > k and n > l:
print(n)
elif m > c and m > x and m > v and m > b and m > n and m > z and m > j and m > k and m > l:
print(m)
elif j > c and j > x and j > v and j > b and j > n and j > m and j > z and j > k and j > l:
print(j)
elif k > c and k > x and k > v and k > b and k > n and k > m and k > j and k > z and k > l:
print(k)
elif l > c and l > x and l > v and l > b and l > n and l > m and l > j and l > k and l > z:
print(l)
else:
print("error")
Принес он мне примерно вот это и еще удивлялся что тут не так.