<?xml version="1.0" encoding="utf-8" ?><rss version="2.0" xmlns:tt="http://teletype.in/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:media="http://search.yahoo.com/mrss/"><channel><title>Лапочка</title><generator>teletype.in</generator><description><![CDATA[Лапочка]]></description><image><url>https://img2.teletype.in/files/94/b7/94b7e4cf-6365-44cb-bc52-c8239e1c8159.png</url><title>Лапочка</title><link>https://teletype.in/@solitkas</link></image><link>https://teletype.in/@solitkas?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=solitkas</link><atom:link rel="self" type="application/rss+xml" href="https://teletype.in/rss/solitkas?offset=0"></atom:link><atom:link rel="next" type="application/rss+xml" href="https://teletype.in/rss/solitkas?offset=10"></atom:link><atom:link rel="search" type="application/opensearchdescription+xml" title="Teletype" href="https://teletype.in/opensearch.xml"></atom:link><pubDate>Fri, 17 Apr 2026 10:03:59 GMT</pubDate><lastBuildDate>Fri, 17 Apr 2026 10:03:59 GMT</lastBuildDate><item><guid isPermaLink="true">https://teletype.in/@solitkas/tMz1f71w8yc</guid><link>https://teletype.in/@solitkas/tMz1f71w8yc?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=solitkas</link><comments>https://teletype.in/@solitkas/tMz1f71w8yc?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=solitkas#comments</comments><dc:creator>solitkas</dc:creator><title>ЧТО ТАКОЕ API?</title><pubDate>Tue, 27 Dec 2022 18:38:59 GMT</pubDate><description><![CDATA[API (Application Programming Interface) - это интерфейс для взаимодействия между различными программными системами или сервисами. ]]></description><content:encoded><![CDATA[
  <p id="MeLy">API (Application Programming Interface) - это интерфейс для взаимодействия между различными программными системами или сервисами. </p>
  <p id="beAY">Как они могут общаться и передавать данные друг другу</p>
  <p id="xKdZ"></p>
  <p id="8PYE">API предоставляет набор специальных функций, которые могут быть вызваны из другой программы для получения данных или выполнения определенных действий.</p>
  <p id="liZ1">Например, если у вас есть приложение для социальных сетей, вы можете использовать API этой социальной сети, чтобы получать информацию о пользователях и их постах. Также API может использоваться для взаимодействия между сайтами или сервисами, чтобы обмениваться данными и выполнять определенные действия. API обычно имеет документацию, которая описывает, как его использовать.</p>
  <p id="kMSO"></p>
  <p id="aDd6">REST API - это способ передавать данные между разными сервисами и системами через интернет. Оно использует стандартные методы HTTP, такие как GET, POST, PUT и DELETE, чтобы обмениваться данными.</p>
  <p id="48CS"></p>
  <p id="lFRs">GET - получить ресурс или коллекцию</p>
  <p id="ut8k">POST - отправка данных</p>
  <p id="f5ED">PUT - обновление</p>
  <p id="1nFP">DELETE - удаление</p>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@solitkas/XMmnRasWHUN</guid><link>https://teletype.in/@solitkas/XMmnRasWHUN?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=solitkas</link><comments>https://teletype.in/@solitkas/XMmnRasWHUN?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=solitkas#comments</comments><dc:creator>solitkas</dc:creator><title>Tracker</title><pubDate>Fri, 23 Dec 2022 21:18:49 GMT</pubDate><description><![CDATA[<img src="https://img4.teletype.in/files/3d/8b/3d8b4934-adfc-4a13-91ad-3245602ac493.png"></img>Скрипт может обрабатывать команды вроде &quot;добавить новое задание&quot;, &quot;показать список заданий на сегодня&quot;, &quot;показать список заданий на неделю&quot; и т.д.]]></description><content:encoded><![CDATA[
  <p id="lL9p">Скрипт может обрабатывать команды вроде &quot;добавить новое задание&quot;, &quot;показать список заданий на сегодня&quot;, &quot;показать список заданий на неделю&quot; и т.д.</p>
  <p id="f71k"></p>
  <ul id="Z0CM">
    <li id="afve">название задания</li>
    <li id="0N7r">описание задания</li>
    <li id="a021">срок выполнения</li>
    <li id="XFqD">статус выполнения (не начато, в процессе, завершено)</li>
  </ul>
  <p id="yEhA"></p>
  <ul id="Hpbr">
    <li id="HugM">Добавить то что задание выполнено, или нет доступных заданий</li>
    <li id="6oXb">Посмотреть список команд -&gt; или интерфейс</li>
    <li id="2zoK">Добавить функционал ведения простой статистики, такой как количество выполненных/невыполненных задач, общее количество задач и т. д.</li>
    <li id="dv0E">Сделать программу более интерактивной, например, путем добавления меню выбора действий (например, добавление новой задачи, просмотр списка задач, выход из программы и т. д.)</li>
    <li id="qwCU">Добавить функционал, позволяющий пользователю указывать сроки выполнения задач и получать уведомления о просроченных задачах</li>
    <li id="0ApV">Создать систему категорий для задач (например, работа, личные дела, хобби) и давать возможность пользователю фильтровать список задач по категориям</li>
    <li id="nKvL">Добавить функционал приоритезации задач: пользователь может указывать, какие задачи являются приоритетными, и программа может отображать список задач в порядке приоритета.</li>
    <li id="GL5w">Добавить функционал уведомлений: пользователь может задавать уведомления о задачах (например, напоминания о выполнении задачи в определенное время или дату), и программа будет отправлять уведомления в указанное время. Можно реализовать с помощью функций по расписанию (например, с помощью модуля <code>sched</code> в Python).</li>
    <li id="IJuc">возможностью добавления тегов к заданиям, чтобы было удобнее их отслеживать и фильтровать</li>
    <li id="KII0">отображением графика выполнения заданий за определенный период времени</li>
    <li id="qyOQ">Добавления записей в базу данных</li>
  </ul>
  <p id="1dKj"></p>
  <p id="waaW">Бонус - сделать веб сайт интерфейс или интерфейс используя PyQt5</p>
  <p id="32rN"></p>
  <p id="eEaQ"></p>
  <p id="lTYc"></p>
  <blockquote id="YQ73">ЧТО ФИКСИТЬ СЕЙЧАС</blockquote>
  <p id="yGUi">СДЕЛАТЬ ЗАПИСЬ С НОВОГО РЯДКА ЕСЛИ КОЛЛИЧЕСТВО СИМВОЛОВ &gt; n</p>
  <p id="qv0v"></p>
  <p id="fzCH">придумать способ записи:</p>
  <figure id="nT3e" class="m_original">
    <img src="https://img4.teletype.in/files/3d/8b/3d8b4934-adfc-4a13-91ad-3245602ac493.png" width="1113" />
  </figure>
  <figure id="ATSd" class="m_custom">
    <img src="https://img2.teletype.in/files/9e/5f/9e5f2a14-37c3-44fb-80a3-078d3486a030.png" width="1144" />
  </figure>
  <figure id="7a7M" class="m_original">
    <img src="https://img2.teletype.in/files/d1/fd/d1fde630-ba3c-413b-a1fd-32ed2058e2a8.png" width="1132" />
  </figure>
  <p id="YbyY">так как вставляется буква, то мы и по ее индексу высчитываем в &quot;edci&quot;, например мы ввели d значит длина нашего словаря + индекс буквы в &quot;edci&quot; + 1 так как индексы с 0 </p>
  <figure id="cMhL" class="m_original">
    <img src="https://img4.teletype.in/files/f9/af/f9af5e05-81df-4015-8c3a-8faec1ffadee.png" width="789" />
  </figure>
  <p id="U0vg">штука добавить новое задание, мы в список добавляем еще один список, и потом проверяем по индексам есть ли в нашем временном списке такое занятие</p>
  <figure id="JQv4" class="m_original">
    <img src="https://img4.teletype.in/files/7c/f2/7cf27b0c-0cb4-4cf6-992b-d7083405e911.png" width="1454" />
  </figure>
  <p id="QeUY">Этапы считают по количеству записей</p>
  <figure id="gXVA" class="m_original">
    <img src="https://img1.teletype.in/files/8a/bc/8abcbc8c-18d2-4f3a-9848-6c2a74a8578d.png" width="1288" />
  </figure>
  <p id="3NRL"></p>
  <p id="h3tM">Засечь текущее время </p>
  <figure id="1N32" class="m_original">
    <img src="https://img2.teletype.in/files/9e/61/9e619c70-6b49-47ac-9924-de2c757a3a46.png" width="971" />
  </figure>
  <p id="Z16I"></p>
  <p id="mcwh"></p>
  <p id="pWI2"></p>
  <p id="qKTZ">пронумеровать их и сделать запись в файл</p>
  <p id="VBSx"></p>
  <figure id="peDX" class="m_original">
    <img src="https://img4.teletype.in/files/34/6e/346e6992-d888-4cc3-b239-367caaf6eef5.png" width="1757" />
  </figure>
  <p id="Q9D2">сделать динамическое время</p>
  <p id="r6Ji">вынести открытие файла в отдельную функцию</p>
  <pre id="iygM">def read_tasks():
    try:
        with open(&quot;tasks.txt&quot;, &quot;r&quot;, encoding=&quot;utf-8&quot;) as file:
            string = &#x27;&#x27;.join(file.readlines())
            task_list = [json.loads(line) for line in string.split(&#x27;\n&#x27;) if line]

            if not task_list:
                raise ValueError(&quot;\nNo tasks found.\n&quot;)

            return task_list
    except FileNotFoundError:
        print(&quot;tasks.txt not found&quot;)</pre>
  <p id="fzDA">сделать стабильное меню или вынести на графический дизайн или в тг</p>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@solitkas/Z4qA4zFXEnd</guid><link>https://teletype.in/@solitkas/Z4qA4zFXEnd?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=solitkas</link><comments>https://teletype.in/@solitkas/Z4qA4zFXEnd?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=solitkas#comments</comments><dc:creator>solitkas</dc:creator><title>Вычисления алгоритмической сложности</title><pubDate>Thu, 22 Dec 2022 12:41:57 GMT</pubDate><description><![CDATA[<img src="https://img2.teletype.in/files/dd/df/dddf7868-2de7-4ffc-be89-eafc6848a98a.png"></img>Почему O(1) а не O(0) - потому что у нас хоть что-то выполняется ]]></description><content:encoded><![CDATA[
  <h3 id="07H4">Сложность по времени:</h3>
  <p id="Gcho">Почему O(1) а не O(0) - потому что у нас хоть что-то выполняется </p>
  <p id="dGmo">O(1) - это самая быстрая сложность. Она означает, что алгоритм выполняется одинаково быстро, независимо от размера входных данных. Например, если вы хотите найти первый элемент в списке, то это всегда займет одно и то же время, независимо от того, сколько элементов в списке.</p>
  <figure id="23qh" class="m_original">
    <img src="https://img2.teletype.in/files/dd/df/dddf7868-2de7-4ffc-be89-eafc6848a98a.png" width="619" />
  </figure>
  <p id="nEJv"></p>
  <p id="VEl3">O(n) - это линейная сложность</p>
  <p id="eG7m">Она означает, что сложность алгоритма растет пропорционально количеству элементов в входных данных</p>
  <figure id="YUeq" class="m_column">
    <img src="https://img3.teletype.in/files/66/b1/66b1ded7-10ee-45fc-ab2a-6deec3d11c69.png" width="808" />
  </figure>
  <p id="k23D">O(n) - мы понимаем, что наш алгоритм максимально сделает столько шагов сколько у нас элементов</p>
  <p id="NcZF">O - это самый худший случай (сколько максимально шагов может сделать наш алгоритм)</p>
  <p id="vmjg">n - len(a) в самом худшем случае мы пройдем n шагов, для этого алгоритма</p>
  <p id="naGT"></p>
  <p id="sXik"></p>
  <p id="jZHb">Квадратичная сложность — O(n^2)</p>
  <p id="luop">В классической реализации речь идёт о двух вложенных циклах, когда внутренний цикл выполняется для каждого элемента внешнего цикла.</p>
  <p id="5Hl1">Например, если у нас есть массив из 10 элементов, то для обработки этого массива алгоритму потребуется 100 операций (10 * 10).</p>
  <p id="UtoP"></p>
  <p id="mPiq"></p>
  <p id="0IWf"></p>
  <figure id="0u9p" class="m_column">
    <img src="https://img3.teletype.in/files/65/4f/654fc8fa-e7b0-4a88-a022-3104a454f819.png" width="1920" />
  </figure>
  <figure id="NlzP" class="m_column">
    <img src="https://img4.teletype.in/files/3e/2a/3e2a5345-9a73-4fb7-bd18-26302a5df4ac.png" width="1920" />
  </figure>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@solitkas/HTvuv8sUhzM</guid><link>https://teletype.in/@solitkas/HTvuv8sUhzM?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=solitkas</link><comments>https://teletype.in/@solitkas/HTvuv8sUhzM?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=solitkas#comments</comments><dc:creator>solitkas</dc:creator><title>JSONPath</title><pubDate>Tue, 20 Dec 2022 16:29:57 GMT</pubDate><description><![CDATA[JSONPath - это специальный язык запросов, который позволяет выбирать отдельные элементы из JSON-структуры по определенным критериям. Он похож на XPath, который используется для извлечения данных из XML-документов.]]></description><content:encoded><![CDATA[
  <pre id="x47I" data-lang="python">pip install jsonpath-rw

import json
from jsonpath_rw import jsonpath, parse

# Парсинг JSON-строки и сохранение результата в виде Python-объекта
data = json.loads(&#x27;{&quot;store&quot;:{&quot;book&quot;:[{&quot;title&quot;:&quot;The Alchemist&quot;,&quot;price&quot;:8.95}]}}&#x27;)

# Создание JSONPath-выражения для извлечения значений ключа &quot;title&quot;
expression = parse(&#x27;$.store.book[*].title&#x27;)

# Извлечение значений с помощью JSONPath-выражения
titles = [match.value for match in expression.find(data)]
print(titles)  # [&#x27;The Alchemist&#x27;]

</pre>
  <p id="Lj2O"></p>
  <p id="Cw6T">JSONPath - это специальный язык запросов, который позволяет выбирать отдельные элементы из JSON-структуры по определенным критериям. Он похож на XPath, который используется для извлечения данных из XML-документов.</p>
  <p id="oVv9">Чтобы использовать JSONPath Online Evaluator, нужно следующее:</p>
  <ol id="rCdw">
    <li id="SUY0">Перейдите на сайт, на котором размещен инструмент. В поисковой строке введите &quot;JSONPath Online Evaluator&quot; и нажмите Enter.</li>
    <li id="KJIc">В поле &quot;Input&quot; введите JSON-документ, который Вы хотите анализировать. Это может быть любая JSON-структура, например:</li>
  </ol>
  <pre id="58tr" data-lang="python">{
  &quot;store&quot;: {
    &quot;book&quot;: [
      {
        &quot;category&quot;: &quot;reference&quot;,
        &quot;author&quot;: &quot;Nigel Rees&quot;,
        &quot;title&quot;: &quot;Sayings of the Century&quot;,
        &quot;price&quot;: 8.95
      },
      {
        &quot;category&quot;: &quot;fiction&quot;,
        &quot;author&quot;: &quot;Evelyn Waugh&quot;,
        &quot;title&quot;: &quot;Sword of Honour&quot;,
        &quot;price&quot;: 12.99
      },
      {
        &quot;category&quot;: &quot;fiction&quot;,
        &quot;author&quot;: &quot;Herman Melville&quot;,
        &quot;title&quot;: &quot;Moby Dick&quot;,
        &quot;isbn&quot;: &quot;0-553-21311-3&quot;,
        &quot;price&quot;: 8.99
      },
      {
        &quot;category&quot;: &quot;fiction&quot;,
        &quot;author&quot;: &quot;J. R. R. Tolkien&quot;,
        &quot;title&quot;: &quot;The Lord of the Rings&quot;,
        &quot;isbn&quot;: &quot;0-395-19395-8&quot;,
        &quot;price&quot;: 22.99
      }
    ],
    &quot;bicycle&quot;: {
      &quot;color&quot;: &quot;red&quot;,
      &quot;price&quot;: 19.95
    }
  },
  &quot;expensive&quot;: 10
}
</pre>
  <p id="8AuM"></p>
  <p id="eEVS">Например, чтобы выбрать все книги с категорией &quot;fiction&quot;, можно использовать следующий запрос:</p>
  <pre id="Wd1e">$.store.book[?(@.category == &#x27;fiction&#x27;)]</pre>
  <p id="Ta2l">В этом JSONPath-запросе используется фильтрующее выражение <code>[?(@.category == &#x27;fiction&#x27;)]</code>, которое выбирает только те книги, у которых поле &quot;category&quot; равно &quot;fiction&quot;.</p>
  <p id="Ouwk">Общий синтаксис фильтрующего выражения такой:</p>
  <pre id="M3Xq">[?(&lt;условие&gt;)]
</pre>
  <p id="zZRw">Где условие - это логическое выражение, которое возвращает true или false. Если условие верно, то элемент включается в результат, иначе он исключается.</p>
  <p id="7aT8">В нашем случае условием является <code>@.category == &#x27;fiction&#x27;</code>, которое сравнивает значение поля &quot;category&quot; со строкой &quot;fiction&quot;. Оператор <code>@</code> указывает на текущий элемент (в данном случае - книгу), а оператор <code>==</code> сравнивает два значения на равенство. Если значение поля &quot;category&quot; равно &quot;fiction&quot;, то условие верно и элемент включается в результат.</p>
  <p id="3Sjo"></p>
  <ol id="IcVr">
    <li id="qSDg">Специальный символ <code>$</code> указывает на корневой элемент документа. Например, чтобы выбрать весь документ, можно использовать запрос <code>$</code>.</li>
    <li id="5s7b">Символ <code>@</code> указывает на текущий элемент. Например, чтобы выбрать все значения поля &quot;title&quot;, можно использовать запрос <code>$.store.book[*].title</code>.</li>
    <li id="R85h">Символ <code>*</code> означает &quot;все элементы&quot;. Например, чтобы выбрать все книги, можно использовать запрос <code>$.store.book[*]</code>.</li>
    <li id="fvDL">Символ <code>..</code> означает &quot;рекурсивно все элементы&quot;. Например, чтобы выбрать все элементы во всех вложенных объектах, можно использовать запрос <code>$..*</code>.</li>
    <li id="5EWd">Фильтрующие выражения могут быть использованы для выборки элементов с определенными свойствами. Фильтрующие выражения выглядят так: <code>[?(&lt;условие&gt;)]</code>, где условие - это логическое выражение</li>
  </ol>
  <p id="zJ20"></p>
  <ol id="NGUY">
    <li id="gUgQ">Символ <code>[&lt;индекс&gt;]</code> позволяет выбирать элемент по его индексу в массиве. Например, чтобы выбрать вторую книгу, можно использовать запрос <code>$.store.book[1]</code>.</li>
    <li id="2a3h">Символ <code>[&lt;start&gt;:&lt;end&gt;]</code> позволяет выбирать срез элементов массива. Например, чтобы выбрать вторую и третью книгу, можно использовать запрос <code>$.store.book[1:3]</code>.</li>
    <li id="k7jc">Символ <code>[-&lt;n&gt;]</code> позволяет выбирать последние n элементов массива. Например, чтобы выбрать последние две книги, можно использовать запрос <code>$.store.book[-2:]</code>.</li>
  </ol>
  <p id="uNVr">Помимо этих символов, JSONPath также поддерживает различные функции, которые можно использовать для обработки данных. Например, функция <code>length()</code> возвращает количество элементов в массиве.</p>
  <p id="PuvL"></p>
  <p id="nNJp"></p>
  <ol id="vAXW">
    <li id="ERi1">Выбрать все книги, у которых поле &quot;category&quot; равно &quot;fiction&quot;: <code>$.store.book[?(@.category == &#x27;fiction&#x27;)]</code></li>
    <li id="kfF1">Выбрать названия всех книг: <code>$.store.book[*].title</code></li>
    <li id="hsu8">Выбрать все цены книг: <code>$..price</code></li>
    <li id="BrWC">Выбрать первую книгу: <code>$.store.book[0]</code></li>
    <li id="GxK9">Выбрать последнюю книгу: <code>$.store.book[-1:]</code></li>
    <li id="60pf">Выбрать вторую и третью книгу: <code>$.store.book[1:3]</code></li>
    <li id="B4RN">Выбрать все книги, у которых указан идентификатор ISBN: <code>$.store.book[?(@.isbn)]</code></li>
    <li id="tafc">Выбрать все авторы книг: <code>$..author</code></li>
    <li id="VkWX">Выбрать все элементы во всех вложенных объектах: <code>$..*</code></li>
    <li id="M2Lq">Выбрать количество книг: <code>length($.store.book)</code></li>
  </ol>
  <p id="5lue"></p>
  <p id="DvTM">Чтобы совместить оба примера запроса JSONPath, нужно объединить условия фильтрации с помощью логического оператора <code>AND</code> (<code>&amp;&amp;</code>). Получится следующий запрос:</p>
  <pre id="1Ne3">$.store.book[?(@.price &lt; 10 &amp;&amp; (@.category == &#x27;reference&#x27; || @.category == &#x27;fiction&#x27;))]
</pre>
  <p id="BTBf">Этот запрос выберет все книги, у которых цена меньше 10 долларов и категория равна &quot;reference&quot; или &quot;fiction&quot;.</p>
  <p id="OCbR">Обратите внимание, что условие <code>@.category == &#x27;reference&#x27; || @.category == &#x27;fiction&#x27;</code> нужно обернуть в скобки, так как это объединение двух условий с помощью логического оператора <code>OR</code>.</p>
  <p id="8a3w"></p>
  <ol id="uIiK">
    <li id="OGyS">Выбрать весь документ: <code>$</code></li>
    <li id="yGy1">Выбрать все значения поля &quot;name&quot;: <code>$.name</code></li>
    <li id="DmUa">Выбрать все элементы массива: <code>$.array[*]</code></li>
    <li id="89ey">Выбрать первый элемент массива: <code>$.array[0]</code></li>
    <li id="98Pf">Выбрать все элементы массива, у которых поле &quot;enabled&quot; равно true: <code>$.array[?(@.enabled)]</code></li>
    <li id="07hp">Выбрать все элементы массива с четным индексом: &#x60;$.array[0,2,4,6,8]</li>
  </ol>
  <p id="X3rn"></p>
  <ol id="gTZk">
    <li id="qqVh">Выбрать все элементы массива с нечетным индексом: <code>$.array[1,3,5,7,9]</code></li>
    <li id="f0Mq">Выбрать второй и третий элементы массива: <code>$.array[1:3]</code></li>
    <li id="JcRm">Выбрать последний элемент массива: <code>$.array[-1:]</code></li>
    <li id="ROgJ">Выбрать все элементы массива, у которых поле &quot;type&quot; равно &quot;primary&quot; или &quot;secondary&quot;: <code>$.array[?(@.type == &#x27;primary&#x27; || @.type == &#x27;secondary&#x27;)]</code></li>
    <li id="mikZ">Выбрать все элементы массива, у которых поле &quot;type&quot; равно &quot;primary&quot; и поле &quot;enabled&quot; равно true: <code>$.array[?(@.type == &#x27;primary&#x27; &amp;&amp; @.enabled)]</code></li>
    <li id="K0S0">Выбрать все значения поля &quot;name&quot; у элементов массива: <code>$.array[*].name</code></li>
    <li id="13WG">Выбрать все значения поля &quot;value&quot; во всех вложенных объектах: <code>$..value</code></li>
    <li id="0pZM">Выбрать все элементы массива, у которых поле &quot;name&quot; содержит строку &quot;item&quot;: <code>$.array[?(@.name.contains(&#x27;item&#x27;))]</code></li>
    <li id="vVZo">Выбрать количество элементов массива: <code>length($.array)</code></li>
  </ol>
  <p id="T15u"></p>
  <ol id="qGeu">
    <li id="wcG6">Выбрать все элементы массива, у которых поле &quot;name&quot; начинается со строки &quot;item&quot;: <code>$.array[?(@.name.startsWith(&#x27;item&#x27;))]</code></li>
    <li id="kgLb">Выбрать все элементы массива, у которых поле &quot;name&quot; заканчивается строкой &quot;item&quot;: <code>$.array[?(@.name.endsWith(&#x27;item&#x27;))]</code></li>
    <li id="YFoK">Выбрать все элементы массива, у которых поле &quot;value&quot; является числом: <code>$.array[?(@.value.isNumber())]</code></li>
    <li id="A1RS">Выбрать все элементы массива, у которых поле &quot;value&quot; является строкой: <code>$.array[?(@.value.isString())]</code></li>
    <li id="4EFJ">Выбрать все элементы массива, у которых поле &quot;value&quot; является логическим значением: <code>$.array[?(@.value.isBoolean())]</code></li>
    <li id="ELPg">Выбрать все элементы массива, у которых поле &quot;value&quot; является массивом: <code>$.array[?(@.value.isArray())]</code></li>
    <li id="C026">Выбрать все элементы массива, у которых поле &quot;value&quot; является объектом: <code>$.array[?(@.value.isObject())]</code></li>
    <li id="BIN8">Выбрать все элементы массива, у которых поле &quot;value&quot; является null: <code>$.array[?(@.value.isNull())]</code></li>
    <li id="DiQr">Выбрать первый элемент массива с помощью функции head(): <code>$.array[0]</code></li>
    <li id="7ltq">Выбрать все элементы массива, кроме первого с помощью функции tail(): <code>$.array[1:]</code></li>
  </ol>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@solitkas/v8xAmRsujb3</guid><link>https://teletype.in/@solitkas/v8xAmRsujb3?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=solitkas</link><comments>https://teletype.in/@solitkas/v8xAmRsujb3?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=solitkas#comments</comments><dc:creator>solitkas</dc:creator><title>Исключения в Python и немного о try-except и raise</title><pubDate>Tue, 13 Dec 2022 15:12:04 GMT</pubDate><description><![CDATA[<img src="https://img1.teletype.in/files/c9/2c/c92c6ca8-d18e-4c7e-8a7f-6498e992d7bd.png"></img>try-except-finally нужны чтоб отловить возникшую проблему в коде, и как-то ее отработать ]]></description><content:encoded><![CDATA[
  <p id="lZ8H">try-except-finally нужны чтоб отловить возникшую проблему в коде, и как-то ее отработать </p>
  <blockquote id="wuyE"><strong>Этот механизм называется перехват исключений </strong></blockquote>
  <p id="MCZQ"></p>
  <p id="1EEh">Конструкция try работает таким образом:</p>
  <ul id="S53S">
    <li id="cQTW">сначала выполняются выражения, которые записаны в блоке try</li>
    <li id="sewx">если при выполнения блока try не возникло никаких исключений, блок except пропускается, и выполняется дальнейший код</li>
    <li id="GCus">если во время выполнения блока try в каком-то месте возникло исключение, оставшаяся часть блока try пропускается</li>
    <ul id="82Om">
      <li id="GygI">если в блоке except указано исключение, которое возникло, выполняется код в блоке except</li>
      <li id="WdEM">если исключение, которое возникло, не указано в блоке except, выполнение программы прерывается и выдается ошибка</li>
    </ul>
  </ul>
  <p id="p2Yx">Обратите внимание, что строка <code>Cool!</code> в блоке try не выводится:</p>
  <pre id="uZtX" data-lang="python">In [4]: try:
   ...:     print(&quot;Let&#x27;s divide some numbers&quot;)
   ...:     2/0
   ...:     print(&#x27;Cool!&#x27;)
   ...: except ZeroDivisionError:
   ...:     print(&quot;You can&#x27;t divide by zero&quot;)
   ...:
Let&#x27;s divide some numbers
You can&#x27;t divide by zero</pre>
  <p id="g8wd"></p>
  <h3 id="G8DN"><strong>Вывести нашу ошибку </strong></h3>
  <figure id="rVvP" class="m_column">
    <img src="https://img1.teletype.in/files/c9/2c/c92c6ca8-d18e-4c7e-8a7f-6498e992d7bd.png" width="754" />
  </figure>
  <figure id="iVW1" class="m_original">
    <img src="https://img3.teletype.in/files/64/48/64489ffb-27d7-4e80-ad4a-2950675dfc0e.png" width="592" />
  </figure>
  <p id="y0a0">В конструкции try/except может быть много except, если нужны разные действия в зависимости от типа ошибки.</p>
  <p id="Q2a9">Например, скрипт divide.py делит два числа введенных пользователем:</p>
  <pre id="esPi" data-lang="python"># -*- coding: utf-8 -*-

try:
    a = input(&quot;Введите первое число: &quot;)
    b = input(&quot;Введите второе число: &quot;)
    print(&quot;Результат: &quot;, round(float(a)/float(b), 2))
except ValueError:
    print(&quot;Пожалуйста, вводите только числа&quot;)
except ZeroDivisionError:
    print(&quot;На ноль делить нельзя&quot;)</pre>
  <p id="IUH8">В данном случае исключение <strong>ValueError</strong> возникает, когда пользователь ввел строку вместо числа, во время перевода строки в число.</p>
  <p id="yKOQ">Исключение ZeroDivisionError возникает в случае, если второе число было равным 0.</p>
  <p id="4YqJ">Если нет необходимости выводить различные сообщения на ошибки ValueError и ZeroDivisionError, можно сделать так:</p>
  <pre id="cbyR" data-lang="python"># -*- coding: utf-8 -*-

try:
    a = input(&quot;Введите первое число: &quot;)
    b = input(&quot;Введите второе число: &quot;)
    print(&quot;Результат: &quot;, int(a)/int(b))
except (ValueError, ZeroDivisionError):
    print(&quot;Что-то пошло не так...&quot;)</pre>
  <p id="lXN9"></p>
  <p id="Kror">В блоке except можно не указывать конкретное исключение или исключения. В таком случае будут перехватываться все исключения.</p>
  <p id="BWuw"><strong>Это делать не рекомендуется!</strong></p>
  <p id="6h8V"></p>
  <p id="KT7t"></p>
  <h2 id="MG9q">raise</h2>
  <p id="sTXA">raise используем чтобы бросить исключение самостоятельно, при этом можно указать какое конкретно исключение бросить. Если не указать то будет брошено последнее упавшее исключение (важно чтобы оно было!)</p>
  <p id="E3ky">Проверяем условие, если что-то неправильно кидаем ошибку </p>
  <figure id="IADW" class="m_original">
    <img src="https://img1.teletype.in/files/43/df/43df9000-a718-4f7f-9723-0e3948b3cdd7.png" width="684" />
  </figure>
  <p id="VC9I">Закинуть ошибку в мейн</p>
  <figure id="w4G3" class="m_column">
    <img src="https://img4.teletype.in/files/73/6b/736b3e2e-8cc9-422d-809a-dfd29beaef28.png" width="820" />
  </figure>
  <p id="MoZN"></p>
  <h2 id="ucaQ">try/except/else</h2>
  <p id="60cl">В конструкции try/except есть опциональный блок else. Он выполняется в том случае, если не было исключения.</p>
  <p id="8Ajk">Например, если необходимо выполнять в дальнейшем какие-то операции с данными, которые ввел пользователь, можно записать их в блоке else</p>
  <pre id="hjN2" data-lang="python"># -*- coding: utf-8 -*-

try:
    a = input(&quot;Введите первое число: &quot;)
    b = input(&quot;Введите второе число: &quot;)
    result = int(a)/int(b)
except (ValueError, ZeroDivisionError):
    print(&quot;Что-то пошло не так...&quot;)
else:
    print(&quot;Результат в квадрате: &quot;, result**2)</pre>
  <p id="p2BY"></p>
  <p id="K4XR"></p>
  <h2 id="2Bwf">try/except/finally</h2>
  <p id="b61e">НО важно понимать, что файналли это не какой то волшебный блок, исключение может упасть и там, нужно обдумывать логику этого блока (например не использовать переменные, которые могли не быть созданы)</p>
  <p id="XX3t">Блок finally - это еще один опциональный блок в конструкции try. Он выполняется <strong>всегда</strong>, независимо от того, было ли исключение или нет.</p>
  <p id="Kd28">Сюда ставятся действия, которые надо выполнить в любом случае. Например, это может быть закрытие файла.</p>
  <p id="ezPl">Файл divide_ver4.py с блоком finally:</p>
  <pre id="47ZS" data-lang="python"># -*- coding: utf-8 -*-

try:
    a = input(&quot;Введите первое число: &quot;)
    b = input(&quot;Введите второе число: &quot;)
    result = int(a)/int(b)
except (ValueError, ZeroDivisionError):
    print(&quot;Что-то пошло не так...&quot;)
else:
    print(&quot;Результат в квадрате: &quot;, result**2)
finally:
    print(&quot;Вот и сказочке конец, а кто слушал - молодец.&quot;)</pre>
  <p id="eCYa">Проверка:</p>
  <pre id="eITG">$ python divide_ver4.py
Введите первое число: 10
Введите второе число: 2
Результат в квадрате:  25
Вот и сказочке конец, а кто слушал - молодец.

$ python divide_ver4.py
Введите первое число: qwerewr
Введите второе число: 3
Что-то пошло не так...
Вот и сказочке конец, а кто слушал - молодец.

$ python divide_ver4.py
Введите первое число: 4
Введите второе число: 0
Что-то пошло не так...
Вот и сказочке конец, а кто слушал - молодец.</pre>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@solitkas/iC2xJUczdM3</guid><link>https://teletype.in/@solitkas/iC2xJUczdM3?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=solitkas</link><comments>https://teletype.in/@solitkas/iC2xJUczdM3?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=solitkas#comments</comments><dc:creator>solitkas</dc:creator><title>Что нужно знать о библиотеке collections в Python</title><pubDate>Tue, 13 Dec 2022 12:41:26 GMT</pubDate><media:content medium="image" url="https://img1.teletype.in/files/07/5f/075f961c-ddb7-4ad5-86b8-bcfefad79169.png"></media:content><description><![CDATA[<img src="https://img1.teletype.in/files/0c/90/0c90a8c0-fbee-4d89-a6a8-45f3e74f76c5.png"></img>ChainMap нужен для логического (не объединяем физически) объединения словарей для поиска информации, физического копирования словарей не происходит и если изменить один из исходников, то изменении отобразится и в chainMap. Удобен для поиска информации, но при изменениях меняется первый словарь в наборе.]]></description><content:encoded><![CDATA[
  <pre id="6GRk">from collections import ChainMap</pre>
  <p id="NqFb">ChainMap нужен для <strong>логического</strong> (не объединяем физически) объединения словарей для поиска информации, физического копирования словарей не происходит и если изменить один из исходников, то изменении отобразится и в chainMap. Удобен для поиска информации, но при изменениях меняется первый словарь в наборе.</p>
  <figure id="sivZ" class="m_original">
    <img src="https://img1.teletype.in/files/0c/90/0c90a8c0-fbee-4d89-a6a8-45f3e74f76c5.png" width="713" />
  </figure>
  <p id="nxoy">Но при его изменениях будет изменять только первый словарь </p>
  <figure id="Z0Wg" class="m_column">
    <img src="https://img1.teletype.in/files/80/47/80476b2e-0d03-40f5-afb8-0db72663e264.png" width="778" />
  </figure>
  <pre id="nnMT">from collections import namedtuple</pre>
  <p id="O3SZ">Именованный кортеж, очень удобно, можно обращаться и по индексу и по ключу</p>
  <figure id="cIWI" class="m_column">
    <img src="https://img2.teletype.in/files/1c/8a/1c8aaa90-c48b-411a-ab06-7fb55bf04de1.png" width="819" />
  </figure>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@solitkas/3SbJYwaUrgZ</guid><link>https://teletype.in/@solitkas/3SbJYwaUrgZ?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=solitkas</link><comments>https://teletype.in/@solitkas/3SbJYwaUrgZ?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=solitkas#comments</comments><dc:creator>solitkas</dc:creator><title>Сollections defaultdict python</title><pubDate>Fri, 09 Dec 2022 11:21:31 GMT</pubDate><media:content medium="image" url="https://img3.teletype.in/files/ec/17/ec17ddac-227a-4ed1-88dd-1eb97dc30ca9.png"></media:content><description><![CDATA[<img src="https://img3.teletype.in/files/a2/e9/a2e94d1f-7099-4c4b-b970-11ff960a5ca1.png"></img>defaultdict нужен для создания словаря со значением по умолчанию. Значение подставляется при обращении к несуществующему ключу, что позволяет не писать лишней логики. В остальном аналогичен обычному словарю]]></description><content:encoded><![CDATA[
  <p id="WZN5">defaultdict нужен для создания словаря со значением по умолчанию. Значение подставляется при обращении к несуществующему ключу, что позволяет не писать лишней логики. В остальном аналогичен обычному словарю</p>
  <p id="bgB6">При обращении к несуществующему ключу кидает ошибку</p>
  <figure id="HZaE" class="m_column">
    <img src="https://img3.teletype.in/files/a2/e9/a2e94d1f-7099-4c4b-b970-11ff960a5ca1.png" width="805" />
  </figure>
  <p id="2PF4">А если мы хотим чтоб он создавался то используем:</p>
  <p id="ck2u">from collections import defaultdict</p>
  <p id="3X9x"></p>
  <p id="fxZj">Если ключа нет то он создастся с каким либо значение по умолчанию, так как мы указали тип int то вызовется функция int() которая возвращает 0</p>
  <figure id="jEAQ" class="m_column">
    <img src="https://img4.teletype.in/files/b3/02/b30265b0-fcb1-45cb-8e54-5e26b5f49143.png" width="777" />
  </figure>
  <p id="wzXx">Сделали значения по умолчанию список, так как ключа &quot;s&quot; нет в нашем словаре, то создался пустой список</p>
  <figure id="89vT" class="m_column">
    <img src="https://img1.teletype.in/files/0d/30/0d303e32-4f86-411d-86cb-e72a7b75fc5f.png" width="713" />
  </figure>
  <p id="Tnne">Также можно создавать пару ключ-значение</p>
  <figure id="CPrS" class="m_column">
    <img src="https://img4.teletype.in/files/fe/e0/fee0b336-5875-47c3-b9c0-deb811b9bf94.png" width="713" />
  </figure>
  <p id="Ucds"></p>
  <p id="1CMG"><strong>Или указывать что будет создаваться по умолчанию</strong></p>
  <figure id="BWz3" class="m_column">
    <img src="https://img1.teletype.in/files/06/9f/069ffd2d-b3ad-46ce-a03c-edc7e3bd78db.png" width="848" />
  </figure>
  <p id="EUIz"></p>
  <p id="GtFY"></p>
  <h2 id="mUzA">Теперь где это пригодится </h2>
  <p id="Vj84"></p>
  <p id="PcnA">Проверяем есть ли ключ то добавляем элемент, если нет создаем ключ и добавляем элемент</p>
  <figure id="nxEp" class="m_column">
    <img src="https://img1.teletype.in/files/84/8b/848b9f63-a4dd-4c61-a1cf-cda37b775ddd.png" width="1004" />
  </figure>
  <p id="mUkC">Посчитать сумму количества элементов, берется имя и по этому ключу считается общее количество </p>
  <figure id="fVoa" class="m_column">
    <img src="https://img3.teletype.in/files/68/e4/68e4375f-3732-49a6-a956-6281ddfd1cd7.png" width="761" />
  </figure>
  <p id="PZ5L"></p>
  <h3 id="rely">Или добавить все элементы по ключу в один список</h3>
  <figure id="3m9u" class="m_column">
    <img src="https://img4.teletype.in/files/73/d1/73d1e455-36c6-45e3-9429-f520a9c27e01.png" width="933" />
  </figure>
  <p id="Tyga">другой метод</p>
  <figure id="wCHU" class="m_column">
    <img src="https://telegra.ph/file/8cfe472167e8a79e947f3.png" width="772" />
  </figure>
  <p id="pyZt"></p>
  <h3 id="f79o">Или добавить из этого списка только уникальные элементы </h3>
  <figure id="JpUc" class="m_column">
    <img src="https://img1.teletype.in/files/0a/cb/0acb1395-d9d4-47fa-9757-0550d6e95458.png" width="770" />
  </figure>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@solitkas/wOAyeEJdPKh</guid><link>https://teletype.in/@solitkas/wOAyeEJdPKh?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=solitkas</link><comments>https://teletype.in/@solitkas/wOAyeEJdPKh?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=solitkas#comments</comments><dc:creator>solitkas</dc:creator><title>Новые фишки</title><pubDate>Wed, 07 Dec 2022 11:59:49 GMT</pubDate><description><![CDATA[<img src="https://img3.teletype.in/files/68/c1/68c13e20-34b5-45db-aa78-1ef11db1a2cb.png"></img>Вспоминаем что метод sorted() возвращает отсортированный список и методом   &quot; &quot;. join мы это все объединяем ]]></description><content:encoded><![CDATA[
  <p id="P35S">Вспоминаем что метод sorted() возвращает отсортированный список и методом   &quot; &quot;. join мы это все объединяем </p>
  <figure id="uMxV" class="m_original">
    <img src="https://img3.teletype.in/files/68/c1/68c13e20-34b5-45db-aa78-1ef11db1a2cb.png" width="581" />
  </figure>
  <p id="Q7kJ"></p>
  <p id="vIuU">Найти пропущенную цифру в массиве, для этого делаем множество, находим минимальное максимальное этого числа, делаем диапазон и проверяем есть ли цифры из этого диапазона в нашем массиве</p>
  <figure id="8QMQ" class="m_original">
    <img src="https://img1.teletype.in/files/8d/83/8d833e30-505e-45dc-b084-0be575538c94.png" width="646" />
  </figure>
  <p id="KFf0"></p>
  <p id="ma5y">Вспоминаем zip и преобразовать список из кортежей в список из других списков</p>
  <figure id="6Kiy" class="m_column">
    <img src="https://img1.teletype.in/files/47/2e/472e95c8-836e-454e-a53f-3f89b332231b.png" width="809" />
  </figure>
  <p id="pqWN">Найти среднюю длину массива</p>
  <figure id="NuKe" class="m_original">
    <img src="https://img3.teletype.in/files/62/55/62550b77-4993-4237-a962-647f9858d6ef.png" width="557" />
  </figure>
  <p id="6syI">Соединить из двух слов только первые и посчитать время выполнения функции</p>
  <figure id="ZpJP" class="m_column">
    <img src="https://img4.teletype.in/files/ba/af/baaf68a0-b5a6-4141-a29e-22d5a8b1e66b.png" width="918" />
  </figure>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@solitkas/jWYYKCMiOZI</guid><link>https://teletype.in/@solitkas/jWYYKCMiOZI?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=solitkas</link><comments>https://teletype.in/@solitkas/jWYYKCMiOZI?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=solitkas#comments</comments><dc:creator>solitkas</dc:creator><title>codewars</title><pubDate>Sat, 03 Dec 2022 14:10:03 GMT</pubDate><media:content medium="image" url="https://img3.teletype.in/files/2d/c7/2dc78844-271f-460c-9231-a0adaff9322a.png"></media:content><description><![CDATA[<img src="https://img4.teletype.in/files/7e/2b/7e2b8a40-caed-44bb-978b-366084b18625.png"></img>Посчитать количество четных букв в строке]]></description><content:encoded><![CDATA[
  <p id="D4At">Посчитать количество четных букв в строке</p>
  <figure id="LDEy" class="m_column">
    <img src="https://img4.teletype.in/files/7e/2b/7e2b8a40-caed-44bb-978b-366084b18625.png" width="733" />
  </figure>
  <figure id="O572" class="m_column">
    <img src="https://img4.teletype.in/files/f5/48/f5483a7e-d0c7-4108-bd4f-8e98e9719afa.png" width="677" />
  </figure>
  <h3 id="xSXS"></h3>
  <p id="v1qj">Вот функция, которая проверяет наличие дублей в массиве:</p>
  <figure id="34zp" class="m_column">
    <img src="https://img4.teletype.in/files/77/3c/773cabc9-6646-4326-a3a3-bbe0edaef9e7.png" width="843" />
  </figure>
  <p id="XJH5"></p>
  <p id="X9IF">Чтобы посчитать количество четных букв в строке, можно использовать следующую функцию:</p>
  <figure id="QX1w" class="m_column">
    <img src="https://img2.teletype.in/files/5c/7e/5c7e9abe-64e4-4978-999d-e82f11ac85a9.png" width="779" />
  </figure>
  <p id="LnbA"></p>
  <p id="v3fP">Программа, которая принимает на вход список строк и выводит строку, содержащую наибольшее количество уникальных символов. Вот как это может выглядеть:</p>
  <figure id="ROrp" class="m_custom">
    <img src="https://img4.teletype.in/files/fe/92/fe9236a8-6484-42d8-995d-9b1e00addde0.png" width="961.3377483443709" />
  </figure>
  <p id="MHAb">Или </p>
  <figure id="NFH9" class="m_original">
    <img src="https://img4.teletype.in/files/f2/67/f2675815-e781-4c47-af10-4fb605268042.png" width="684" />
  </figure>
  <p id="VBoS"></p>
  <p id="HPju">Reverse a String using Python</p>
  <figure id="xnao" class="m_original">
    <img src="https://img4.teletype.in/files/fb/c7/fbc7a9cf-179d-41de-be2f-7fb6396d5165.png" width="745" />
  </figure>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@solitkas/rvpJQ6NsEXn</guid><link>https://teletype.in/@solitkas/rvpJQ6NsEXn?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=solitkas</link><comments>https://teletype.in/@solitkas/rvpJQ6NsEXn?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=solitkas#comments</comments><dc:creator>solitkas</dc:creator><title>Функция факториал, повторения базы</title><pubDate>Thu, 01 Dec 2022 12:32:48 GMT</pubDate><media:content medium="image" url="https://img2.teletype.in/files/9c/e4/9ce4af0e-be1b-4f00-8d94-f8400ac37990.png"></media:content><description><![CDATA[<img src="https://img4.teletype.in/files/39/27/39274a28-260d-456c-a98b-b99fa3cdf425.png"></img>]]></description><content:encoded><![CDATA[
  <pre id="913j" data-lang="python"># Факториал
math.factorial(3)

def fact(n):
    count = 1
    for i in range(1, n + 1):
        count *= i
    return count


def new_fact(n):
    if n == 1: return 1
    return n * fact(n - 1)


test = [i ** 2 for i in range(10)]

def number():
    x, y = 4, 3
    print(x / y)
    print(x // y)  # Целочисленное деление (делим на 10, чтоб убрать последнюю цифру)
    print(x % y)  # Деление по модулю - Остаток при делении (делим на 10, чтоб получить последнюю цифру)

    print(math.pow(2, 2))

# Тип данных boolean тесно связан с int (потому что True - 1, False - 0)
# Bool наследуется от int

def string():
    print(&quot;another&quot;.find(&quot;other&quot;))
    print(&quot;cheat&quot;.replace(&quot;c&quot;, &quot;n&quot;))
    print(len(&quot;cheat&quot;))
    print(&quot;ear&quot; in &quot;rear&quot;)

    print(&quot;ear me&quot;.title())
    print(&quot;ear&quot;.startswith(&quot;e&quot;))
    print(&quot; ear&quot;.strip())

    # Конкатенация
    print(&quot;me&quot; + &quot;love&quot;)

    new = &quot; hi &quot;.rstrip()
    new = new.lstrip()
    print(new)</pre>
  <figure id="hVCo" class="m_column">
    <img src="https://img4.teletype.in/files/39/27/39274a28-260d-456c-a98b-b99fa3cdf425.png" width="1034" />
  </figure>
  <figure id="A5zG" class="m_column">
    <img src="https://img1.teletype.in/files/48/fe/48fed570-dbe1-450a-8248-e815628b2d08.png" width="906" />
  </figure>

]]></content:encoded></item></channel></rss>