<?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>Python для экзамена | Красных и Малков</title><generator>teletype.in</generator><description><![CDATA[Python для экзамена | Красных и Малков]]></description><image><url>https://img2.teletype.in/files/5b/1b/5b1bd52d-6404-417f-bed1-7aa02e28ffb7.png</url><title>Python для экзамена | Красных и Малков</title><link>https://teletype.in/@py_for_ex</link></image><link>https://teletype.in/@py_for_ex?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=py_for_ex</link><atom:link rel="self" type="application/rss+xml" href="https://teletype.in/rss/py_for_ex?offset=0"></atom:link><atom:link rel="next" type="application/rss+xml" href="https://teletype.in/rss/py_for_ex?offset=10"></atom:link><atom:link rel="search" type="application/opensearchdescription+xml" title="Teletype" href="https://teletype.in/opensearch.xml"></atom:link><pubDate>Fri, 01 May 2026 19:42:26 GMT</pubDate><lastBuildDate>Fri, 01 May 2026 19:42:26 GMT</lastBuildDate><item><guid isPermaLink="true">https://teletype.in/@py_for_ex/2_3_conditional_constructions</guid><link>https://teletype.in/@py_for_ex/2_3_conditional_constructions?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=py_for_ex</link><comments>https://teletype.in/@py_for_ex/2_3_conditional_constructions?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=py_for_ex#comments</comments><dc:creator>py_for_ex</dc:creator><title>Урок 2.3. Условные конструкции</title><pubDate>Tue, 19 Sep 2023 20:56:34 GMT</pubDate><media:content medium="image" url="https://img3.teletype.in/files/e1/b1/e1b12d6d-3ab6-4a12-b885-58ad77c4c858.png"></media:content><description><![CDATA[<img src="https://img1.teletype.in/files/ce/a5/cea5a304-1d17-4658-ba5a-e6ef52e52de4.jpeg"></img>Представьте, что вам нужно написать программу, которая определяет, является ли число четным.]]></description><content:encoded><![CDATA[
  <p id="1TOE">Представьте, что вам нужно написать программу, которая определяет, является ли число четным.</p>
  <p id="JqZC">Эту задачу не выйдет решить простой последовательностью команд. В какой-то момент программа должна определить, соблюдается ли условие, и в зависимости от этого выполнить ту или иную команду.</p>
  <p id="kDaJ">Такой алгоритм можно реализовать с помощью <strong>условной конструкции</strong> или <strong>ветвления</strong>. Вот так:</p>
  <pre id="9DFk">num = int(input())

if num % 2 == 0:
    print(&#x27;Это число четное&#x27;)</pre>
  <p id="0qnn">После ключевого слова <code>if</code> мы пишем условие, которое должно соблюдаться, чтобы команды, которые написаны ниже, были выполнены. Затем ставим двоеточие, переходим на новую строку и добавляем отступ в четыре пробела. Этот отступ очень важен – с помощью него выделяются все команды, выполняемые при соблюдении условия.</p>
  <section style="background-color:hsl(hsl(0, 0%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="LT91">В среде разработки VS Code такой отступ ставится автоматически и его можно убрать одним нажатием клавиши <code>Backspace</code>. Если у вас автоматически не появляется отступ, то вы, скорее всего, забыли поставить двоеточие. </p>
    <p id="ltGH">Также отступ в четыре пробела можно быстро добавить, нажав клавишу <code>Tab</code>.</p>
  </section>
  <p id="rrci">Первая команда, записанная без отступа, уже не входит в условную конструкцию и будет выполнена независимо от соблюдения условия, записанного после <code>if</code>.</p>
  <p id="cZeb">Такая программа выводит строку ‘Это число четное’, если условие <code>num % 2 == 0</code> выполняется, и не делает ничего, если это условие не соблюдено.</p>
  <pre id="3pCU">num = int(input())

if num % 2 == 0:
    print(&#x27;Это число четное&#x27;)
else:
    print(&#x27;Это число нечетное&#x27;)</pre>
  <p id="d1Kx">Улучшим нашу программу. Теперь, если условие не соблюдается, то программа сообщит об этом. Чтобы это реализовать, используем слово <code>else</code>, затем поставим двоеточие и напишем блок команд, которые будут выполняться, если условие, написанное после <code>if</code>, НЕ выполняется. Перед этими командами тоже нужен отступ. Но перед словом <code>else</code> отступа нет!</p>
  <hr />
  <h3 id="ebGd" data-align="center">Вложенные условные конструкции</h3>
  <p id="jjvQ">Теперь напишем программу, которая переводит оценку из десятибалльной системы в пятибалльную. Можно написать три отдельные условные конструкции:</p>
  <pre id="j75Q">mark = int(input())

if 8 &lt;= mark &lt;= 10:
    print(5)
if 6 &lt;= mark &lt;= 7:
    print(4)
if 4 &lt;= mark &lt;= 5:
    print(3)
else:
    print(2)</pre>
  <p id="5v2g">Но это неудачный код. Можно его упростить, «вложив» одну условную конструкцию в другую:</p>
  <pre id="8heh">mark = int(input())

if 8 &lt;= mark &lt;= 10:
    print(5)
else:
    if 6 &lt;= mark &lt;= 7:
        print(4)
    else:
        if 4 &lt;= mark &lt;= 5:
            print(3)
        else:
            print(2)</pre>
  <p id="bYuv">Обратите внимание на отступы. В каждой условной конструкции слова <code>if</code> и <code>else</code> находятся на одном уровне, с одинаковой длиной отступа.</p>
  <hr />
  <h3 id="vzeI" data-align="center">Каскадные условные конструкции</h3>
  <p id="d0OA">Нашу программу для перевода оценок можно сделать ещё красивее, использовав только одну условную конструкцию. Правда, необычную:</p>
  <pre id="XOJd">mark = int(input())

if 8 &lt;= mark &lt;= 10:
    print(5)
elif 6 &lt;= mark &lt;= 7:
    print(4)
elif 4 &lt;= mark &lt;= 5:
    print(3)
else:
    print(2)</pre>
  <p id="32cx">Такая условная конструкция называется каскадной. В ней используется ключевое слово <code>elif</code>. Если первое условие, написанное после слова <code>if</code>, не соблюдено, то мы можем проверить еще одно или несколько условий, записывая их после слова <code>elif</code> и ставя после этого двоеточие.</p>
  <p id="JJmT">Обратите внимание, что слова <code>if</code>, <code>elif</code> и <code>else</code> в одной и той же условной конструкции находятся на одном уровне, с одинаковой длиной отступов.</p>
  <hr />
  <h3 id="TAvp" data-align="center">Бонус</h3>
  <p id="cp8O">Из предыдущей статьи вы знаете, что условие, которое записывается после слов <code>if</code> и <code>elif</code>, является способом определения логического значения. Команды в условной конструкции выполняются, если условие принимает значение <code>True</code>.</p>
  <p id="B1ve">Получается, что мы можем написать <code>if True:</code>, и тогда блок команд <code>if</code> будет выполняться всегда, а блок команд <code>else</code> – никогда. Если напишем <code>if False:</code>, то всё наоборот.</p>
  <p id="PqDG"></p>
  <p id="a0ph"><a href="https://forms.gle/mh18hVUNwUXcR7Nr8" target="_blank">Тест по пройденному материалу</a></p>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@py_for_ex/2_2_logical_statements</guid><link>https://teletype.in/@py_for_ex/2_2_logical_statements?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=py_for_ex</link><comments>https://teletype.in/@py_for_ex/2_2_logical_statements?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=py_for_ex#comments</comments><dc:creator>py_for_ex</dc:creator><title>Урок 2.2. Логические высказывания</title><pubDate>Tue, 19 Sep 2023 20:03:12 GMT</pubDate><media:content medium="image" url="https://img2.teletype.in/files/9b/bd/9bbd4819-8b7a-4b4b-b1e4-8c0cd7eaaf9a.png"></media:content><description><![CDATA[<img src="https://img4.teletype.in/files/b8/6b/b86bcd56-e894-4f9b-9ad0-34639b28563d.jpeg"></img>Есть два способа присвоить значение переменной. Первый – указать это значение сразу:]]></description><content:encoded><![CDATA[
  <p id="nSjw">Есть два способа присвоить значение переменной. Первый – указать это значение сразу:</p>
  <pre id="wVYd">num = 10</pre>
  <p id="OnbF">Второй способ – указать не значение, а <strong>способ его определения</strong>:</p>
  <pre id="Q7Dt">num = 8 * 5 / 4</pre>
  <p id="ilHn"><em>Способ определения числа</em> – это математический пример, который должен посчитать компьютер. <em>Способы определения строки</em> – это сложение или умножение строк.</p>
  <p id="HJfW">А какой <em>способ определения логического значения</em>? Из курса логики мы помним, что <strong>логическое высказывание</strong> может быть или истинным, или ложным. Значит, чтобы присвоить переменной <code>log</code> значение типа <code>bool</code>, мы можем записать логическое высказывание – например, <code>log = 8 &gt; 7</code>. Компьютер выяснит его логическое значение <code>True</code> и присвоит его переменной <code>log</code>.</p>
  <pre id="N5IS">log = 8 &gt; 7

print(log)
print(type(log))</pre>
  <p id="Kf7t">выводит:</p>
  <pre id="xU8Z">True
&lt;class &#x27;bool&#x27;&gt;</pre>
  <hr />
  <p id="zxww">Самые простые логические высказывания – это равенства и неравенства. Для их записи используются операторы == (в телетайпе отображается как <code>==</code>), != (в телетайпе <code>!=</code>), &gt;, &lt;, &gt;= (в телетайпе <code>&gt;=</code>), &lt;= (в телетайпе <code>&lt;=</code>).</p>
  <pre id="yRd2">print(10 == 11)
print(10 != 11)
print(10 &gt; 11)
print(10 &lt; 11)
print(10 &gt;= 11)
print(10 &lt;= 11)</pre>
  <p id="YkMR">выводит:</p>
  <pre id="Y6Sw">False
True
False
True
False
True</pre>
  <p id="vIQp">С помощью операторов, перечисленных выше, можно создать <em>простое</em> условие. Но что если нам нужно <em>сложное</em> условие – например, если мы подбираем только четные положительные оценки по 10-бальной шкале?</p>
  <p id="RhUa">Для этого существуют операторы <code>not</code>, <code>and</code> и <code>or</code>.</p>
  <p id="1hGi">Оператор <code>not</code> используется для отрицания. Если <code>8 &gt; 7</code> означает <code>True</code>, то <code>not (8 &gt; 7)</code> означает <code>False</code>.</p>
  <p id="qMid">Оператор <code>and</code> – это «и», или конъюнкция. Оператор <code>or</code> – это «или», дизъюнкция.</p>
  <p id="K3UP">Вы помните, что у одних операторов приоритет больше, чем у других. Операторы <code>*</code> и <code>/</code> сильнее, чем <code>+</code> и <code>-</code>. Это же относится к логическим операторам: <code>not</code> самый сильный, <code>and</code> слабее, чем <code>not</code>, а <code>or</code> слабее, чем <code>and</code>. И все они сильнее, чем ==, !=, &gt;, &lt;, &gt;= и &lt;=. Чтобы изменить приоритет, используйте скобки.</p>
  <pre id="LPZ1">a = True
b = False

print(&#x27;a and b is&#x27;, a and b)
print(&#x27;a or b is&#x27;, a or b)
print(&#x27;not a is&#x27;, not a)</pre>
  <p id="WmwE">выводит:</p>
  <pre id="gDBQ">a and b is False
a or b is True
not a is False</pre>
  <p id="gHKt"></p>
  <p id="7hIg"><a href="https://forms.gle/vxXG2NSzFanijV1U6" target="_blank">Тест по изученному материалу</a></p>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@py_for_ex/2_1_logical_datatype_bool</guid><link>https://teletype.in/@py_for_ex/2_1_logical_datatype_bool?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=py_for_ex</link><comments>https://teletype.in/@py_for_ex/2_1_logical_datatype_bool?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=py_for_ex#comments</comments><dc:creator>py_for_ex</dc:creator><title>Урок 2.1. Логический тип данных bool</title><pubDate>Tue, 19 Sep 2023 19:29:38 GMT</pubDate><media:content medium="image" url="https://img1.teletype.in/files/82/a4/82a4b47e-ea36-4ea2-8944-61e22bc5dc51.png"></media:content><description><![CDATA[<img src="https://img4.teletype.in/files/3b/7c/3b7c0377-3d20-44db-83d3-c40cfe482c3f.jpeg"></img>На прошлом уроке мы узнали об основных типах данных в Python: int, float, str и bool; а также изучили основные операции с числами и строками.]]></description><content:encoded><![CDATA[
  <p id="Bqpd">На прошлом уроке мы узнали об основных типах данных в Python: <code>int</code>, <code>float</code>, <code>str</code> и <code>bool</code>; а также изучили основные операции с числами и строками.</p>
  <p id="NW8r">Теперь поговорим подробнее о типе данных <code>bool</code>. Он указывает на логические значения, которых всего два – <code>True</code> и <code>False</code>. Не забывайте, что Python чувствителен к регистру. Если написать <code>true</code> вместо <code>True</code>, произойдет ошибка.</p>
  <hr />
  <h3 id="ZlOI" data-align="center">Преобразование типов</h3>
  <p id="e0QF">Можно преобразовывать не только числа в строки и наоборот. Значение типа <code>bool</code> можно преобразовать в любой из известных вам типов данных – и в строку, и в число. Соответственно, числа и строки тоже можно преобразовать в тип данных <code>bool</code>.</p>
  <p id="3ZzD"><strong>1. Преобразование в строку и наоборот. </strong>Начнем с очевидного. Значения <code>True</code> и <code>False</code> преобразуются в строки <code>‘True’</code> и <code>‘False’</code> соответственно.</p>
  <pre id="BFkl">is_true = True             # Присваиваем переменным логические значения
is_false = False

is_true = str(is_true)     # Преобразуем логические значения в строки
is_false = str(is_false)

print(is_true)             # Выводим значения переменных и их типы
print(type(is_true))
print(is_false)
print(type(is_false))</pre>
  <p id="ANbB">выводит:</p>
  <pre id="YBst">True
&lt;class &#x27;str&#x27;&gt;
False
&lt;class &#x27;str&#x27;&gt;</pre>
  <p id="ynyw">Это работает в обратную сторону, но только для <code>True</code>.</p>
  <pre id="RmjV">is_true = &#x27;True&#x27;            # Присваиваем переменным значения типа str
is_false = &#x27;False&#x27;

is_true = bool(is_true)     # Преобразуем строки в логические значения
is_false = bool(is_false)

print(is_true)              # Выводим значения переменных и их типы
print(type(is_true))
print(is_false)
print(type(is_false))</pre>
  <p id="fXo9">выводит:</p>
  <pre id="7VYw">True
&lt;class &#x27;bool&#x27;&gt;
True
&lt;class &#x27;bool&#x27;&gt;</pre>
  <p id="4SYa">На самом деле любая <strong>непустая</strong> строка преобразуется в логическое значение <code>True</code>, а <strong>пустая</strong> строка – в значение <code>False</code>.</p>
  <pre id="MtLP">is_true = &#x27;Python&#x27;          # Присваиваем переменной непустую строку
is_false = &#x27;&#x27;               # Присваиваем переменной пустую строку

is_true = bool(is_true)     # Преобразуем строки в логические значения
is_false = bool(is_false)

print(is_true)              # Выводим значения переменных и их типы
print(type(is_true))
print(is_false)
print(type(is_false))</pre>
  <p id="4eyk">выводит:</p>
  <pre id="Ui8T">True
&lt;class &#x27;bool&#x27;&gt;
False
&lt;class &#x27;bool&#x27;&gt;</pre>
  <p id="Cdiv"><strong>2. Преобразование в числовой тип данных и наоборот. </strong>Значение <code>True</code> преобразуется в число <code>1</code> (тип данных <code>int</code>) или <code>1.0</code> (тип данных <code>float</code>). Значение False преобразуется в <code>0</code> или <code>0.0</code>.</p>
  <pre id="Gt4R">is_true = True               # Присваиваем переменным логические значения
is_false = False

int_true = int(is_true)      # Преобразуем логические значения в числа,
flt_true = float(is_true)    # создаем для этого новые переменные
int_false = int(is_false)
flt_false = float(is_false)

print(int_true)              # Выводим значения переменных и их типы
print(type(int_true))
print(flt_true)
print(type(flt_true))
print(int_false)
print(type(int_false))
print(flt_false)
print(type(flt_false))</pre>
  <p id="8clQ">выводит:</p>
  <pre id="xYTf">1
&lt;class &#x27;int&#x27;&gt;
1.0
&lt;class &#x27;float&#x27;&gt;
0
&lt;class &#x27;int&#x27;&gt;
0.0
&lt;class &#x27;float&#x27;&gt;</pre>
  <p id="tgnA">Можно сделать и наоборот – преобразовать единицу в <code>True</code>, а ноль – в <code>False</code>. Но на самом деле любое число, не равное нулю, преобразуется в <code>True</code>.</p>
  <pre id="EqcR">is_true = 12               # Присваиваем переменной ненулевое число
is_false = 0               # Присваиваем переменной число 0

is_true = bool(is_true)    # Преобразуем числа в логические значения
is_false = bool(is_false)

print(is_true)             # Выводим значения переменных и их типы
print(type(is_true))
print(is_false)
print(type(is_false))</pre>
  <p id="e7VI">выводит:</p>
  <pre id="QBce">True
&lt;class &#x27;bool&#x27;&gt;
False
&lt;class &#x27;bool&#x27;&gt;</pre>
  <p id="X0A8">Кстати, команда <code>x = bool()</code> присвоит переменной <code>x</code> значение <code>False</code>. Просто запомните это.</p>
  <p id="uLbn"></p>
  <p id="qD32"><a href="https://forms.gle/JAf3ZDTMQVUthutf6" target="_blank">Тест по пройденному материалу</a></p>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@py_for_ex/1_5_operations_with_str</guid><link>https://teletype.in/@py_for_ex/1_5_operations_with_str?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=py_for_ex</link><comments>https://teletype.in/@py_for_ex/1_5_operations_with_str?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=py_for_ex#comments</comments><dc:creator>py_for_ex</dc:creator><title>Урок 1.5. Операции со строками</title><pubDate>Wed, 13 Sep 2023 17:43:54 GMT</pubDate><media:content medium="image" url="https://img1.teletype.in/files/c5/c2/c5c2cb0f-5db1-4ff7-9e52-74ed88b612f3.png"></media:content><description><![CDATA[<img src="https://img4.teletype.in/files/f6/32/f6321cad-d746-4907-8bdc-93efdd5f7f70.jpeg"></img>С числами разобрались. Теперь изучим самые простые операции с данными типа str.]]></description><content:encoded><![CDATA[
  <p id="8J3b">С числами разобрались. Теперь изучим самые простые операции с данными типа <code>str</code>.</p>
  <hr />
  <h3 id="WblO" data-align="center">Функция len()</h3>
  <p id="5xVg">Для того, чтобы посчитать количество символов в строке, используем функцию <code>len()</code>, передавая в качестве аргумента переменную или саму строку.</p>
  <pre id="R6T9">print(len(&#x27;Язык программирования Python&#x27;))</pre>
  <p id="Uo3U">выводит:</p>
  <pre id="RDrz">28</pre>
  <p id="7Yhr">Не забываем, что пробел – это тоже символ.</p>
  <hr />
  <h3 id="2f5f" data-align="center">Сложение и умножение строк</h3>
  <p id="ofl4">Строки можно складывать между собой, тогда они будут «склеиваться». Такое сложение строк называется <strong>конкатенацией</strong>.</p>
  <pre id="QJR6">print(&#x27;Python&#x27;+&#x27;Ruby&#x27;+&#x27;C++&#x27;)</pre>
  <p id="xUhQ">выводит:</p>
  <pre id="zgHF">PythonRubyC++</pre>
  <p id="bUuZ">Также строку можно умножить на число.</p>
  <pre id="G0Fh">print(&#x27;Python&#x27;*3)</pre>
  <p id="Xrup">выводит:</p>
  <pre id="Uh1n">PythonPythonPython</pre>
  <hr />
  <h3 id="z7dK" data-align="center">Как сделать несколько абзацев</h3>
  <p id="YOvB">Представим, что нам нужно записать в одну переменную текст с несколькими абзацами. </p>
  <p id="dMSE">Это можно сделать <strong>двумя способами</strong>. Первый – использовать обозначение перевода строки <code>\n</code>:</p>
  <pre id="hzZj">print(&#x27;Мы, многонациональный народ Российской Федерации,\nсоединенные общей судьбой на своей земле,\nутверждая права и свободы человека, гражданский мир и согласие...&#x27;)</pre>
  <p id="VfEf">Второй способ – оформить строку тремя одинарными кавычками в начале и в конце:</p>
  <pre id="dLtY">text = &#x27;&#x27;&#x27;Мы, многонациональный народ Российской Федерации,
соединенные общей судьбой на своей земле,
утверждая права и свободы человека, гражданский мир и согласие...&#x27;&#x27;&#x27;

print(text)</pre>
  <p id="IbLn"></p>
  <p id="FQ89"><a href="https://forms.gle/4dPbTLRftBowJAa59" target="_blank">Тест по изученному материалу</a></p>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@py_for_ex/1_4_operations_with_nums</guid><link>https://teletype.in/@py_for_ex/1_4_operations_with_nums?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=py_for_ex</link><comments>https://teletype.in/@py_for_ex/1_4_operations_with_nums?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=py_for_ex#comments</comments><dc:creator>py_for_ex</dc:creator><title>Урок 1.4. Операции с числами</title><pubDate>Wed, 13 Sep 2023 16:18:35 GMT</pubDate><media:content medium="image" url="https://img2.teletype.in/files/d7/17/d717b2f2-53f9-4d80-ab7a-baac183ed5c1.png"></media:content><description><![CDATA[<img src="https://img2.teletype.in/files/5f/7e/5f7ec9a8-72dd-45ed-a66c-30e63f8b7684.jpeg"></img>Теперь разберемся, что можно делать с числами в Python. Все эти операции доступны и для целых чисел типа int, и для вещественных чисел типа float.]]></description><content:encoded><![CDATA[
  <p id="yazU">Теперь разберемся, что можно делать с числами в Python. Все эти операции доступны и для целых чисел типа <code>int</code>, и для вещественных чисел типа <code>float</code>.</p>
  <hr />
  <h3 id="tDwF" data-align="center">+, -, * и /</h3>
  <p id="u8oO">Очевидно, что числа можно складывать, вычитать, умножать и делить.</p>
  <pre id="HI2B">a = 5
b = 2

print(a+b)    # Сложение
print(a-b)    # Вычитание
print(a*b)    # Умножение
print(a/b)    # Деление</pre>
  <p id="i92p">выводит:</p>
  <pre id="pWWj">7
3
10
2.5</pre>
  <hr />
  <h3 id="UaOQ" data-align="center">**, % и //</h3>
  <p id="pgc5">А вот это уже интересно. Помимо привычных четырех арифметических операций в Python доступны ещё три: <strong>возведение в степень</strong> <code>**</code>, <strong>нахождение остатка</strong> от деления <code>%</code> и <strong>деление нацело</strong> <code>//</code>.</p>
  <pre id="NJzA">a = 5
b = 2

print(a**b)    # Возведение в степень
print(a%b)     # Нахождение остатка от деления
print(a//b)    # Деление нацело</pre>
  <p id="JAML">выводит:</p>
  <pre id="wnLu">25
1
2</pre>
  <p id="SRCz">Если вы не поняли, что такое <strong>деление нацело</strong>, объясняем. </p>
  <p id="Pjua"><strong><em>Если делим положительное число</em></strong>, то от результата обычного деления отбрасываем дробную часть. Не округляем, а просто отбрасываем.</p>
  <p id="IoT0"><strong><em>Если делим отрицательное число</em></strong>, то результат округляем в сторону меньшего числа. <em>Результат целочисленного деления не превосходит частное.</em></p>
  <pre id="xr97">a = -5
b = 2

print(a/b)    # Обычное деление
print(a//b)   # Деление нацело</pre>
  <p id="GyEp">выводит:</p>
  <pre id="MKDf">-2.5
-3</pre>
  <p id="VEgX">Операторы <code>//</code> и <code>%</code> имеют такой же приоритет, как и операторы умножения и обычного деления. Наивысший приоритет имеет оператор возведения в степень <code>**</code>.</p>
  <hr />
  <h3 id="AK8x" data-align="center">Функции min() и max()</h3>
  <p id="OkIf">Функция <code>min()</code> находит самое маленькое число среди переданных ей аргументов.</p>
  <p id="33qx">Функция <code>max()</code> находит самое большое число среди переданных ей аргументов.</p>
  <pre id="6a9H">print(min(35, 13, 99, 78, 103, 28))
print(max(35, 13, 99, 78, 103, 28))</pre>
  <p id="NEx6">выводит:</p>
  <pre id="UJud">13
103</pre>
  <hr />
  <h3 id="dQti" data-align="center">Функция abs()</h3>
  <p id="VZ6z">Иногда нужно найти абсолютную величину числа, или его <strong>модуль</strong>. Проще говоря, отбросить знак. Положительное число останется таким же, отрицательное число потеряет минус:</p>
  <pre id="qNcf">print(abs(77))
print(abs(-23))</pre>
  <p id="e8nM">выводит:</p>
  <pre id="EfOe">77
23</pre>
  <hr />
  <h3 id="dx7g" data-align="center">Специальные операторы присваивания</h3>
  <p id="FAkF">Часто приходится обрабатывать число, которое находится в переменной, и записывать результат в эту же переменную. Получаются такие строчки кода:</p>
  <pre id="FSMl">a = a + 10
b = b - 2
c = c * 3
d = d / 2
e = e ** 2
f = f % 2
g = g // 3</pre>
  <p id="VgxL">Но то же самое можно сделать, использовав специальные операторы присваивания вместо обычного <code>=</code>:</p>
  <pre id="n9h5">a += 10
b -= 2
c *= 3
d /= 2
e **= 2
f %= 2
g //= 3</pre>
  <p id="ed3b">Вторая программа делает то же самое, что и первая, но выглядит намного аккуратнее.</p>
  <p id="lDeH"></p>
  <p id="NA9B"><a href="https://forms.gle/VjyPXXErqCkVVpsC7" target="_blank">Тест по пройденному материалу</a></p>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@py_for_ex/1_3_input_output_and_comments</guid><link>https://teletype.in/@py_for_ex/1_3_input_output_and_comments?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=py_for_ex</link><comments>https://teletype.in/@py_for_ex/1_3_input_output_and_comments?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=py_for_ex#comments</comments><dc:creator>py_for_ex</dc:creator><title>Урок 1.3. Ввод, вывод и комментарии</title><pubDate>Tue, 12 Sep 2023 19:04:07 GMT</pubDate><media:content medium="image" url="https://img1.teletype.in/files/83/5e/835e27d1-3b00-4e52-af0a-ca267e4469e9.png"></media:content><description><![CDATA[<img src="https://img3.teletype.in/files/6d/29/6d298b1c-f7de-4334-a8d3-7680a838e295.jpeg"></img>Мы уже знаем, что такое функции и их аргументы. Теперь изучим две самых популярных функции: input() для ввода и print() для вывода данных.]]></description><content:encoded><![CDATA[
  <p id="da40">Мы уже знаем, что такое функции и их аргументы. Теперь изучим две самых популярных функции: <code>input()</code> для ввода и <code>print()</code> для вывода данных.</p>
  <hr />
  <h3 id="ltpV" data-align="center">Ввод с помощью функции input()</h3>
  <p id="LNtc">Почти всегда программа просит пользователя ввести какие-то данные, чтобы обработать их. Это делается с помощью функции <code>input()</code>. Введенное значение можно присвоить переменной или передать в качестве аргумента в другую функцию:</p>
  <pre id="W8Ws">print(&#x27;Как тебя зовут?&#x27;)
name = input()               # Записываем введенную строку в переменную
print(&#x27;Привет,&#x27;, name)</pre>
  <pre id="V3iN">print(&#x27;Введите число:&#x27;)
num = int(input())           

# Передаем введенную строку в качестве
# аргумента в функцию int()</pre>
  <p id="ffsT">Функция <code>input()</code> считывает строковый тип данных <code>str</code>. Чтобы считать, например, целое число, используйте явное преобразование типов, как в примере выше: <code>int(input())</code>.</p>
  <p id="ZCnU">По умолчанию функция <code>input()</code> не требует аргументов. Но можно добавить в качестве аргумента строку. Тогда программа не будет просто ждать, пока пользователь введет что-нибудь в консоль, а попросит его об этом.</p>
  <p id="76sO">Эти два фрагмента кода работают одинаково:</p>
  <pre id="gBRd">print(&#x27;Как тебя зовут?&#x27;)
name = input()</pre>
  <pre id="xf91">name = input(&#x27;Как тебя зовут?\n&#x27;)</pre>
  <p id="KBx1">Убедитесь в этом, протестировав обе программы в VS Code.</p>
  <section style="background-color:hsl(hsl(0, 0%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="x5Xt"><strong>При решении задач на программирование, которые будут проверяться автоматически, не передавайте никаких аргументов в функцию</strong> <code>input()</code><strong> !</strong><br /><br />Дело в том, что при проверке решения задачи система проверяет, что выводит программа при вводе определенных данных. Это называется тестированием stdin—stdout (standart input — standart output).<br /><br />Аргумент у функции <code>input()</code> — это ещё один, лишний вывод. Так что система посчитает, что задача решена неверно.</p>
  </section>
  <hr />
  <h3 id="EEAq" data-align="center">Вывод с помощью функции print()</h3>
  <p id="gHTy">Эту функцию мы уже использовали в предыдущих темах, чтобы вывести на экран результат выполнения программы. </p>
  <p id="RYQJ"><strong>Вывод одного элемента. </strong>В самом простом виде функция <code>print()</code> принимает один аргумент и выводит его на экран.</p>
  <pre id="RCHQ">print(5)</pre>
  <p id="1IOb">выводит:</p>
  <pre id="jqyg">5</pre>
  <p id="Sa9z"><strong>Пустая строка.</strong> Если нужно добавить пустую строку, вызываем функцию <code>print()</code> без аргументов.</p>
  <pre id="7Eqs">print(&#x27;казнить&#x27;)
print()
print(&#x27;помиловать&#x27;)</pre>
  <p id="AmtN">выводит:</p>
  <pre id="1Q1H">казнить

помиловать</pre>
  <p id="0BTy"><strong>Вывод нескольких элементов.</strong> Если нужно вывести несколько элементов, пишем их в скобках через запятую.</p>
  <pre id="YWmo">print(&#x27;Иванов&#x27;, &#x27;Петров&#x27;, &#x27;Сидоров&#x27;)</pre>
  <p id="UJ8D">выводит:</p>
  <pre id="uAjd">Иванов Петров Сидоров</pre>
  <p id="uHJl"><strong>Аргумент sep. </strong>В примере выше выводимые элементы разделены пробелом. Если вы хотите, чтобы они были разделены по-другому, то после перечисления всех элементов добавьте аргумент <code>sep</code> и введите строку-разделитель.</p>
  <pre id="jadk">print(&#x27;Иванов&#x27;, &#x27;Петров&#x27;, &#x27;Сидоров&#x27;, sep=&#x27;, &#x27;)</pre>
  <p id="XVF4">выводит:</p>
  <pre id="x1EW">Иванов, Петров, Сидоров</pre>
  <p id="EDTb">По умолчанию аргумент sep равен <code>‘ ‘</code>.</p>
  <p id="Kef8"><strong>Аргумент end. </strong>По умолчанию после печати всех элементов функция <code>print()</code> делает перевод строки, как при нажатии клавиши Enter. Если вы хотите, чтобы конец печати обозначался по-другому, то добавьте аргумент <code>end</code> и введите строку-окончание.</p>
  <pre id="kxyB">print(&#x27;Иванов&#x27;, &#x27;Петров&#x27;, &#x27;Сидоров&#x27;, end=&#x27;.&#x27;)</pre>
  <p id="5EpK">выводит:</p>
  <pre id="jXoc">Иванов Петров Сидоров.</pre>
  <p id="VtBP">Аргументы <code>sep</code> и <code>end</code> можно не указывать, тогда они будут установлены по умолчанию. Их можно менять местами <code>(print(1, 2, 3, end=&#x27;!&#x27;, sep=&#x27;*&#x27;))</code>, но нужно обязательно указывать <strong>после</strong> перечисления всех выводимых элементов.</p>
  <hr />
  <h3 id="WBaj" data-align="center">Комментарии</h3>
  <p id="E5wJ">Иногда нужно оставить в коде пояснения – где что находится и как работает. Для этого в любом языке программирования есть возможность оставлять комментарии. <strong>Комментарий</strong> – это часть кода, которая не является частью программы и не считывается транслятором.</p>
  <p id="XZq0">В Python комментарии обозначаются символом <code>#</code>. Вы уже видели их в примерах кода. Комментарием считается всё, что написано справа от символа <code>#</code> и до конца строки.</p>
  <pre id="LFJ9">print(&#x27;Hello world!&#x27;)    # Это комментарий.

# Это тоже комментарий.

# Если нужен комментарий в несколько строк,
# то в начале каждой строки ставим символ #.</pre>
  <p id="31yc"></p>
  <p id="TBvK"><a href="https://forms.gle/fCw3X9dEmrkf5xmQ9" target="_blank">Тест по изученному материалу</a></p>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@py_for_ex/1_2_variables_and_datatypes</guid><link>https://teletype.in/@py_for_ex/1_2_variables_and_datatypes?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=py_for_ex</link><comments>https://teletype.in/@py_for_ex/1_2_variables_and_datatypes?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=py_for_ex#comments</comments><dc:creator>py_for_ex</dc:creator><title>Урок 1.2. Переменные и типы данных</title><pubDate>Tue, 12 Sep 2023 06:33:02 GMT</pubDate><media:content medium="image" url="https://img1.teletype.in/files/c7/da/c7dadb23-9ed8-46a0-ace8-656c8c650997.png"></media:content><description><![CDATA[<img src="https://img3.teletype.in/files/a3/ad/a3adb885-b1e4-4d62-8edb-cbfc990d8f30.jpeg"></img>Компьютер – это устройство для хранения и обработки информации. Два главных компонента компьютера – это оперативная память и центральный процессор. Память хранит информацию в своих ячейках, а процессор обрабатывает её.]]></description><content:encoded><![CDATA[
  <p id="O2ln">Компьютер – это устройство для хранения и обработки информации. Два главных компонента компьютера – это оперативная память и центральный процессор. Память хранит информацию в своих <strong>ячейках</strong>, а процессор обрабатывает её.</p>
  <hr />
  <h3 id="pa7A" data-align="center">Переменные</h3>
  <p id="tiNQ">У каждой ячейки памяти есть адрес – <strong>переменная</strong>. Можно сравнить память с многоквартирным домом, а переменную – с номером квартиры. Но в программировании вы сами придумываете, как назвать переменную.</p>
  <p id="cRzg">В названии могут быть латинские буквы <code>a–Z</code>, цифры и символ нижнего подчеркивания <code>_</code>. Пробел использовать нельзя. Обратите внимание, что Python отличает заглавные и строчные буквы, поэтому <code>Num</code> и <code>num</code> – это две разные переменные.</p>
  <p id="GGao">Название переменной <strong>не может начинаться с цифры</strong>. Еще в Python есть <strong>зарезервированные слова</strong>, которыми нельзя называть переменные. Вот список всех зарезервированных слов:</p>
  <pre id="R3Mp">False, True, None, and, with, as, assert, break, class, continue, def, del,
elif, else, except, finally, try, for, from, global, if, import, in, is,
lambda, nonlocal, not, or, pass, raise, return, while, yield</pre>
  <p id="Nrlh">Заметьте, что <code>for</code> – недопустимое название переменной, а <code>for_1</code> – допустимое. <strong>Зарезервированное слово может быть частью названия переменной!</strong></p>
  <section style="background-color:hsl(hsl(0, 0%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="k4qX" data-align="center"><strong>Итак, повторим, как можно и нельзя называть переменные:</strong></p>
    <ol id="yrap">
      <li id="IbkQ">Можно использовать в названии заглавные и строчные латинские буквы, цифры и символ нижнего подчеркивания. </li>
      <li id="Eb5H">НЕЛЬЗЯ называть переменную зарезервированным словом.</li>
      <li id="eqj4">НЕЛЬЗЯ начинать название переменное с цифры.</li>
      <li id="9P61">НЕЛЬЗЯ использовать пробелы.</li>
    </ol>
    <p id="plzP"><strong>Так можно: </strong><code>_</code>, <code>x</code>, <code>total</code>, <code>word_list</code>, <code>r1</code>. </p>
    <p id="z4Ds"><strong>Так нельзя: </strong><code>word list</code>, <code>1r</code>.</p>
  </section>
  <p id="zYSp">Для того, чтобы код был читаемым, называйте переменные осмысленно: не <code>a</code>, <code>b</code>, <code>c</code>, а <code>number</code>, <code>digit</code>, <code>total</code> и т.п. в зависимости от роли, которую играют данные из соответствующей ячейки памяти.</p>
  <p id="etDz">Если название переменной состоит из нескольких слов, то лучше придерживаться стиля <strong>lower_case_with_underscores</strong> (слова строчными буквами с нижними подчеркиваниями).</p>
  <blockquote id="lzp3">Далее мы будем называть <strong>переменной</strong> ячейку памяти, а данные, записанные в ней, <strong>значением переменной</strong>.</blockquote>
  <hr />
  <h3 id="nAiP" data-align="center">Создание переменной</h3>
  <figure id="881R" class="m_original">
    <img src="https://img3.teletype.in/files/28/1a/281ae063-3345-48db-b901-44cdba51d198.png" width="500" />
  </figure>
  <p id="nfuu">Чтобы создать переменную и присвоить ей значение, нужно использовать <strong>оператор присваивания</strong> <code>=</code>. Да, это не знак равенства. Строка кода x = x + 1 означает, что переменной x присваивается значение <code>текущее значение x + 1</code>.</p>
  <p id="Fc7Z">Здесь переменные <code>length</code>, <code>width</code> и <code>height</code> записываются соответственно длина, ширина и высота параллелепипеда, а в переменной <code>volume</code> вычисляется его объем:</p>
  <pre id="J0fN">length = 5
width = 2
height = 4

volume = length*width*height
print(volume)                 # Выводим на экран значение volume.</pre>
  <p id="rAZn">выводит:</p>
  <pre id="l9P9">40</pre>
  <p id="n7ks">Можно одновременно создать несколько переменных и присвоить им значения. Для этого слева от знака <code>=</code> пишем через запятую названия переменных, а справа – их значения, тоже через запятую:</p>
  <pre id="KwOC">length, width, height = 5, 2, 4</pre>
  <p id="TLw5">Значение переменной можно изменить. После этого старое значение стирается. В примере ниже присваиваем переменной <code>length</code> новое значение:</p>
  <pre id="kBIS">length = 5
width = 2
height = 4
length = 8

volume = length*width*height
print(volume)                 # Выводим на экран значение volume.</pre>
  <p id="XYcd">выводит:</p>
  <pre id="nQJn">64</pre>
  <blockquote id="tJCv">Когда мы создаем переменную и в первый раз присваиваем ей значение, это называется <strong>объявлением</strong> или <strong>инициализацией </strong>переменной.</blockquote>
  <hr />
  <h3 id="Y1Xp" data-align="center">Типы данных</h3>
  <p id="jn8w">Существуют разные виды информации: числа, символы, строки, логические значения и т.д. Чтобы обработать элемент информации, нужно знать его тип. Ведь один и тот же способ обработки не подходит для разных видов информации. Или подходит, но результат будет странным. Например, если вы захотите сложить «1» и «9» как символы, а не числа, то вместо ответа 10 получится 19.</p>
  <p id="bnmJ"><strong>Тип данных</strong> — это свойство переменной, которое позволяет понять, какой вид информации в ней хранится. Разберем четыре основных типа данных в Python:</p>
  <p id="6gFt">1. Тип данных <code>int</code> указывает на <strong>целое число</strong>. Целое число — это число без дробной части. Оно может быть положительным, отрицательным или нулем. <strong><em>Примеры: <code>12</code></em></strong>, <code>19097859</code>, <code>-512</code></p>
  <p id="Bj8u">2. Тип данных <code>float</code> указывает на <strong>вещественное число</strong>. Вещественное число — это число с десятичной дробной частью. Оно также может быть положительным, отрицательным или нулем. <strong><em>Примеры:</em></strong> <code>679.807</code>, <code>-12.28</code>, <code>0.0</code></p>
  <blockquote id="80gi">Для того, чтобы отделить дробную часть, всегда используем точку, а не запятую!</blockquote>
  <p id="7DBF">3. Тип данных <code>str</code> указывает на <strong>строку</strong>. Строка — это один или несколько символов. Символами могут быть цифры, буквы, пробелы, знаки препинания и т.д. Строка записывается в одинарных или двойных кавычках. <strong><em>Примеры: </em></strong><code>‘питон’</code>, <code>“programmer”</code></p>
  <p id="IORZ">4. Тип данных <code>bool</code> указывает на <strong>логическое значение</strong>. Их всего два — <code>True</code> и <code>False</code>.</p>
  <hr />
  <h3 id="U1TF" data-align="center">Функция type()</h3>
  <p id="DOFp">Чтобы узнать, данные какого типа содержит переменная, используйте функцию <code>type()</code>.</p>
  <pre id="lk56">num_1 = 7
num_2 = 3.5
language = &#x27;Python&#x27;
position = True

print(type(num_1))
print(type(num_2))
print(type(language))
print(type(position))</pre>
  <p id="z7uU">выводит:</p>
  <pre id="zqki">&lt;class &#x27;int&#x27;&gt;
&lt;class &#x27;float&#x27;&gt;
&lt;class &#x27;str&#x27;&gt;
&lt;class &#x27;bool&#x27;&gt;</pre>
  <blockquote id="eaiE"><strong>Функция</strong> — это способ обработки данных определенного типа. <strong>Аргументы</strong> – это данные, которые мы передаем в функцию, записывая в скобках. Если аргументов несколько, пишем их через запятую.</blockquote>
  <hr />
  <h3 id="H53t" data-align="center">Преобразование типов данных</h3>
  <p id="ohWb">В переменную num записана строка <code>‘1000’</code>. Мы можем превратить ее в число с помощью функции <code>int()</code>: </p>
  <pre id="fqxk">num = &#x27;1000&#x27;          # Объявляем переменную, записываем туда строку.
num = int(num)        # Преобразуем в число.

print(num)            # Выводим значение num.
print(type(num))      # Выводим тип данных в переменной num.</pre>
  <p id="3AtY">выводит:</p>
  <pre id="fGcp">1000
&lt;class &#x27;int&#x27;&gt;</pre>
  <p id="gBiB">Можно сделать и наоборот – превратить целое число в строку:</p>
  <pre id="3csg">num = 1000            # Объявляем переменную, записываем туда число.
num = str(num)        # Преобразуем в строку.

print(num)            # Выводим значение num.
print(type(num))      # Выводим тип данных в переменной num.</pre>
  <p id="GGnd">выводит:</p>
  <pre id="16hx">1000
&lt;class &#x27;str&#x27;&gt;</pre>
  <p id="5gwv">Такое преобразование типов называется <strong>явным</strong>.</p>
  <section style="background-color:hsl(hsl(0, 0%, var(--autocolor-background-lightness, 95%)), 85%, 85%);">
    <p id="rOAL">Чтобы выполнить явное преобразование, используем одну из функций: <code>int()</code>, <code>float()</code>, <code>str()</code>, <code>bool()</code>, передавая в качестве аргумента переменную или просто данные: <code>int(‘1000’)</code>.</p>
  </section>
  <p id="lUlZ">Иногда данные можно преобразовать в другой тип без использования функции. Это <strong>неявное</strong> преобразование. Например, если при делении одного целого числа на другое получается число с дробной частью, тип данных автоматически меняется с <code>int</code> на <code>float</code>.</p>
  <p id="ocb3"></p>
  <p id="bbTF"><a href="https://forms.gle/y6SV67scFTpsQmqE7" target="_blank">Тест по изученному материалу</a></p>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@py_for_ex/install_vscode</guid><link>https://teletype.in/@py_for_ex/install_vscode?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=py_for_ex</link><comments>https://teletype.in/@py_for_ex/install_vscode?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=py_for_ex#comments</comments><dc:creator>py_for_ex</dc:creator><title>Инструкция: как установить среду разработки VS Code</title><pubDate>Sun, 10 Sep 2023 20:54:48 GMT</pubDate><media:content medium="image" url="https://img3.teletype.in/files/ad/6c/ad6c93e9-839d-4a9e-8566-c2ced37318c2.png"></media:content><description><![CDATA[<img src="https://img1.teletype.in/files/cd/0b/cd0ba770-d5ff-42a4-b357-44024476ab5a.jpeg"></img>Шаг 1. Перейдите по ссылке на страницу загрузки файла-установщика.]]></description><content:encoded><![CDATA[
  <p id="JQ6C"><strong>Шаг 1.</strong> Перейдите по ссылке на <a href="https://code.visualstudio.com" target="_blank">страницу загрузки файла-установщика</a>.</p>
  <p id="HhcE"><strong>Шаг 2.</strong> Если у вас Windows, нажмите на синюю кнопку «Download for Windows». Если у вас macOS, нажмите на синюю кнопку со стрелочкой рядом с кнопкой «Download for Windows», и в строке macOS нажмите на синюю стрелочку в столбце Stable.</p>
  <figure id="N95B" class="m_column">
    <img src="https://img3.teletype.in/files/6c/9f/6c9f3352-dd23-4b13-8c81-09e7f2314aad.png" width="442" />
  </figure>
  <p id="CiOv"><strong>Шаг 3.</strong> Скачайте и откройте файл-установщик. </p>
  <p id="n3V8"><strong>Шаг 4.</strong> Следуйте указаниям установщика, пока VS Code не будет установлена.</p>
  <p id="6UO1"><strong>Шаг 5.</strong> После завершения установки закройте окно, и автоматически откроется среда разработки VS Code.</p>
  <p id="l8nB"><strong>Шаг 6. </strong>Выберите темную или светлую тему. Затем нажмите на кнопку Welcome.</p>
  <figure id="Y3XW" class="m_column">
    <img src="https://img4.teletype.in/files/f2/a3/f2a3e945-2387-471b-82a9-eaf85d088b65.png" width="1273" />
  </figure>
  <p id="iya9"><strong>Шаг 7.</strong> Здесь вы можете создать новый файл или открыть существующий. Создайте новый файл.</p>
  <figure id="y7Tt" class="m_column">
    <img src="https://img3.teletype.in/files/ae/45/ae45e764-2be8-42b1-895c-74e9f0fa0d56.png" width="501" />
  </figure>
  <p id="R7rQ"><strong>Шаг 8.</strong> Сверху появится окно «New file». Нажмите на кнопку «<strong>Text File</strong> Built-in».</p>
  <figure id="2uOg" class="m_column">
    <img src="https://img3.teletype.in/files/62/6e/626ef31c-3466-4cc0-9dc4-c9e75d55cb22.png" width="752" />
  </figure>
  <p id="dSgL"><strong>Шаг 9.</strong> Новый файл создан. Нажмите на кнопку «Select a language».</p>
  <figure id="B4LQ" class="m_column">
    <img src="https://img3.teletype.in/files/6f/99/6f99ffcb-37bc-4471-a307-73245eb25b4a.png" width="1905" />
  </figure>
  <p id="3QV4"><strong>Шаг 10.</strong> В окне поиска наберите «python» и выберите соответствующий вариант.</p>
  <figure id="7yrR" class="m_column">
    <img src="https://img4.teletype.in/files/f8/88/f888c742-4dc2-4002-b921-609c69317b21.png" width="1913" />
  </figure>
  <p id="v6cp"><strong>Шаг 11.</strong> В левой панели откройте меню Extensions. Нажмите «Install» для расширений «Python» и «Pylance». Первое позволяет работать с Python-файлами, а второе – автоматически находить синтаксические ошибки.</p>
  <figure id="3UdL" class="m_column">
    <img src="https://img2.teletype.in/files/1c/e4/1ce4d307-ee5a-4d66-8106-e7faffb1a153.png" width="701" />
  </figure>
  <figure id="iiZQ" class="m_column">
    <img src="https://img3.teletype.in/files/64/fd/64fdceed-9cf9-4f2f-92a8-b3ac876504e6.png" width="736" />
  </figure>
  <p id="zCdo">Дождитесь окончания установки.</p>
  <p id="VGYE"><strong>Шаг 12.</strong> Теперь сохраним наш файл, где пока ещё нет кода. Закройте меню Extension, вернитесь к файлу с помощью верхней панели и нажмите сочетание клавиш Ctrl+S. Выберите название файла и нажмите кнопку «Сохранить».</p>
  <figure id="hY0e" class="m_column">
    <img src="https://img4.teletype.in/files/75/9d/759d5be4-4869-4ee0-8431-3116862fc19b.png" width="942" />
  </figure>
  <p id="mxRF"><strong>Шаг 13. </strong>Теперь проверим, всё ли готово к работе. Запишем в файл простую программу <code>print(“Hello world”)</code>.</p>
  <figure id="jQ9D" class="m_column">
    <img src="https://img3.teletype.in/files/64/9a/649a7a8b-551a-479d-a68b-3b0d10e6b116.png" width="554" />
  </figure>
  <p id="8wQd"><strong>Шаг 14.</strong> Для того, чтобы запустить программу, нажмите сочетание клавиш Ctrl+F5 либо нажмите на треугольник в правом верхнем углу экрана.</p>
  <figure id="enuE" class="m_column">
    <img src="https://img2.teletype.in/files/19/dd/19dde28e-e104-44fa-91a5-f65e471cbd13.png" width="414" />
  </figure>
  <p id="NJgF"><strong>Шаг 15. </strong>Если всё хорошо, в терминале внизу появится текст <code>Hello world</code>. Если что-то не получилось, пишите в <a href="https://t.me/py_for_ex_chat" target="_blank">чате</a>, мы поможем.</p>
  <figure id="8uGT" class="m_column">
    <img src="https://img2.teletype.in/files/d9/d7/d9d751a9-bcb5-4a34-a7d6-e949754f367b.png" width="1919" />
  </figure>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@py_for_ex/1_1_what_is_python</guid><link>https://teletype.in/@py_for_ex/1_1_what_is_python?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=py_for_ex</link><comments>https://teletype.in/@py_for_ex/1_1_what_is_python?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=py_for_ex#comments</comments><dc:creator>py_for_ex</dc:creator><title>Урок 1.1. Что такое Python?</title><pubDate>Sun, 10 Sep 2023 20:48:23 GMT</pubDate><media:content medium="image" url="https://img4.teletype.in/files/f1/eb/f1eb11cb-2b44-41b2-a10d-735013fe0764.png"></media:content><description><![CDATA[<img src="https://img1.teletype.in/files/8c/fc/8cfc9f77-2e8f-4e1b-865f-8e1719f25b96.jpeg"></img>Представьте, что вы пришли на базар, чтобы купить фруктов. Продавец может сообщить вам цены товаров и что-нибудь продать, если его попросить. Компьютер тоже может выполнять команды, но не может указать самому себе, что делать. Он нуждается в инструкциях, которые составляют люди. Набор инструкций для компьютера называется программой.]]></description><content:encoded><![CDATA[
  <p id="4sTq">Представьте, что вы пришли на базар, чтобы купить фруктов. Продавец может сообщить вам цены товаров и что-нибудь продать, если его попросить. Компьютер тоже может выполнять команды, но не может указать самому себе, что делать. Он нуждается в инструкциях, которые составляют люди. Набор инструкций для компьютера называется <strong>программой</strong>.</p>
  <p id="zoxf">На базаре мы говорим с продавцом на естественном, человеческом языке: «Сколько это стоит?», «Взвесьте мне полкило» и т.п. Но компьютеру не скажешь «Сложи два числа» или «Открой сайт Вышки». Понятный ему язык – это <strong>машинный код</strong>, нули и единицы. Конечно, можно писать программы в двоичном коде – но мозги очень быстро закипят. Легче создать переводчик с языка, понятного для человека, на компьютерный язык. Такой переводчик называется <strong>транслятором</strong>.</p>
  <p id="fhJ0"><strong>Язык программирования</strong> – это язык, на котором мы пишем программы для компьютера. В нем, как и в любом языке, есть набор правил, который называется <strong>синтаксисом</strong>.</p>
  <hr />
  <h3 id="P7Gk" data-align="center">Языки высокого и низкого уровня</h3>
  <p id="e15M">Есть много языков программирования, и их можно по-разному классифицировать. Первое важное для нас деление – <strong>по уровню</strong>. Языки программирования <em>низкого уровня</em> более понятны компьютеру, а не человеку. Программы, написанные на них, работают быстрее, но их сложно и долго писать. Так выглядит программа на низкоуровневом языке Ассемблер, которая выводит на экран строчку <code>Hello, world!!!</code>:</p>
  <pre id="ovme">.model tiny
.code
ORG 100h
  
begin:  
  MOV  AH,  9
  MOV  DX,  OFFSET Msg
  INT  21h

  RET
        
Msg DB &#x27;Hello, World!!!$&#x27;

END begin</pre>
  <p id="idex">Язык программирования <em>высокого уровня</em> более понятен человеку, а не компьютеру. Вот та же самая программа на высокоуровневом языке Python:</p>
  <pre id="KLHt">print(&#x27;Hello, World!!!&#x27;)</pre>
  <p id="fF2E">Для решения разных задач используют разные языки программирования. HTML и JavaScript нужны для работы интернет-сайтов, SQL для баз данных, Java для компьютерных игр, Swift для iOS-приложений, Ассемблер – для драйверов, и т.д.</p>
  <hr />
  <h3 id="aBm7" data-align="center">Компилируемые и интерпретируемые языки</h3>
  <p id="eamf">Ещё одна важная классификация языков программирования – <strong>по способу трансляции</strong>, то есть перевода на машинный язык. Трансляторы, которые переводят всю программу целиком и только после этого выполняют её, называются <strong>компиляторами</strong>, а соответствующие языки программирования – <strong>компилируемыми</strong>.</p>
  <p id="0RPV">Также транслятор может переводить программу по одной строке и сразу же выполнять. Такой транслятор называется <strong>интерпретатором</strong>, а соответствующий язык программирования – <strong>интерпретируемым</strong>. </p>
  <blockquote id="7WKr"><strong>Python – интерпретируемый язык программирования.</strong></blockquote>
  <p id="Y0i9">Зачем это нужно знать? С одной стороны, программы на интерпретируемом языке работают медленнее, чем если бы они были написаны на компилируемом языке.</p>
  <p id="6NxU">С другой стороны, никто не застрахован от синтаксических ошибок. Если вы ошибетесь в программе на компилируемом языке Паскаль, то сразу получите ошибку, и ни одна команда не выполнится.</p>
  <p id="htCk">В этой программе на Паскале есть ошибка – в конце восьмой строки отсутствует точка с запятой:</p>
  <pre id="RHMm">var 
  x: integer;
  c1,c2: integer;
begin
  write(&#x27;Введите двузначное число: &#x27;);
  readln(x);
  c1 := x div 10;
  c2 := x mod 10
  writeln(&#x27;Первая и вторая цифры двузначного числа: &#x27;,c1,&#x27; &#x27;,c2);
end.</pre>
  <p id="9peG">Если попробовать ее запустить, то компилятор выдаст ошибку:</p>
  <pre id="lzDz">main.pas(9,3) Fatal: Syntax error, &quot;;&quot; expected but &quot;identifier WRITELN&quot; found
Fatal: Compilation aborted
Error: /usr/bin/ppcx64 returned an error exitcode</pre>
  <p id="OCTW">А вот программа на Python, тоже с ошибкой:</p>
  <pre id="Lytu">num = int(input(&#x27;Введите двузначное число: &#x27;))

digit_1 = num//10
digit_2 == num%10

print(&#x27;Первая цифра:&#x27;, digit_1, &#x27;\n&#x27;, &#x27;Вторая цифра:&#x27;, digit_2)</pre>
  <p id="1NP1">Если ее запустить, то сначала она попросит ввести число:</p>
  <pre id="MGCW">Введите двузначное число: 55            # Число 55 мы ввели с клавиатуры</pre>
  <p id="5kEy">И только потом интерпретатор сообщит, что мы перепутали условный оператор == и оператор присваивания =, из-за чего программа встает колом:</p>
  <pre id="drPi">Traceback (most recent call last):
  File &quot;c:\Users\reale\OneDrive\Рабочий стол\test_program.py&quot;, line 4, in &lt;module&gt;
    digit_2 == num%10
    ^^^^^^^
NameError: name &#x27;digit_2&#x27; is not defined. Did you mean: &#x27;digit_1&#x27;?</pre>
  <blockquote id="Z6Dm">Если в поле с кодом вы видите длинный знак «равно», то знайте – это два знака «равно» подряд: ==. Косячит не автор статьи, а Телетайп 🥲</blockquote>
  <hr />
  <h3 id="WOWl" data-align="center">Где писать код?</h3>
  <p id="Egk5">Программный код удобно писать через специальное приложение – <strong>среду разработки</strong>. Она подсказывает, где допущены синтаксические ошибки, зная, какой язык программирования вы используете.</p>
  <p id="RnLw">Есть разные среды разработки. Мы советуем использовать VS Code.</p>
  <p id="XjHi">Вот инструкция, <a href="https://teletype.in/@py_for_ex/install_python" target="_blank">как установить интерпретатор Python на компьютер</a>. А вот <a href="https://teletype.in/@py_for_ex/install_vscode" target="_blank">как установить и настроить VS Code</a>.</p>
  <p id="sNeh"></p>
  <p id="Qfv9"><a href="https://forms.gle/xLLjTBFyS6aExyA28" target="_blank">Тест по изученному материалу</a></p>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@py_for_ex/install_python</guid><link>https://teletype.in/@py_for_ex/install_python?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=py_for_ex</link><comments>https://teletype.in/@py_for_ex/install_python?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=py_for_ex#comments</comments><dc:creator>py_for_ex</dc:creator><title>Инструкция: как установить интерпретатор Python</title><pubDate>Sun, 10 Sep 2023 20:42:34 GMT</pubDate><media:content medium="image" url="https://img3.teletype.in/files/af/37/af3754be-555f-4468-ba85-1ee7886ae9f1.png"></media:content><description><![CDATA[<img src="https://img1.teletype.in/files/0f/70/0f7021f5-ec51-48dd-b47a-bc20bbb6acd4.jpeg"></img>]]></description><content:encoded><![CDATA[
  <p id="Yebn"><strong>Шаг 1.</strong> Зайдите на сайт <a href="https://www.python.org" target="_blank">python.org</a>.</p>
  <p id="Tr0Z"><strong>Шаг 2.</strong> В синей панели вверху нажмите на кнопку Downloads.</p>
  <figure id="DYO1" class="m_column">
    <img src="https://img4.teletype.in/files/ba/c7/bac79fd5-e7f7-413c-ba2b-5f4a5d7c55e4.png" width="2502" />
  </figure>
  <p id="8vcR"><strong>Шаг 3.</strong> Нажмите на желтую кнопку «Download Python 3.x». Версия может отличаться.</p>
  <figure id="Yga8" class="m_column">
    <img src="https://img3.teletype.in/files/e2/26/e2269ddb-4a53-41e8-92d9-9071da32cccb.png" width="2495" />
  </figure>
  <p id="DS90"><strong>Шаг 4.</strong> Скачайте файл-установщик интерпретатора Python.</p>
  <p id="0a2W"><strong>Шаг 5.</strong> Запустите его.</p>
  <p id="D20f"><strong>Шаг 6.</strong> Поставьте галочку «Add python.exe to PATH».</p>
  <figure id="0Acj" class="m_column">
    <img src="https://img4.teletype.in/files/76/e6/76e663d8-6e33-4176-833f-76ae721550b4.png" width="1328" />
  </figure>
  <p id="g2tS"><strong>Шаг 7. </strong>Нажмите на кнопку «Install Now».</p>
  <figure id="oilW" class="m_column">
    <img src="https://img3.teletype.in/files/e0/4a/e04a810f-78a1-4fd1-9a83-caea7cd0b38e.png" width="1316" />
  </figure>
  <p id="R39Q"><strong>Шаг 8.</strong> Дождитесь окончания загрузки.</p>
  <p id="8jX9"><strong>Шаг 9.</strong> Нажмите кнопку «Close».</p>
  <p id="3uVE"></p>
  <p id="BU6e">Всё готово! Теперь у вас есть возможность программировать на Python.</p>

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