Python I

## Урок 0

**Python** — высокоуровневый язык программирования общего назначения. Ориентирован на повышение производительности разработчика и читаемости кода.

### Плюсы и возможности языка

#### Плюсы

1. Низкий порог входа.
2. Понятный читаемый синтаксис.
3. Краткий.
4. Имеет большое количество библиотек.
5. Одно из самых больших сообществ программистов.

#### Что может язык

1. Web-Разработка
2. ИИ и Машинное обучение.
3. Анализ данных.
4. Автоматизация задач.
5. Десктопные приложения.
6. Игры и др.

## Урок 1

### Скачаем и запускаем Python

1. Качаем Python с официального сайта https://www.python.org/.
2. Устанавливаем Python.
3. Запускаем интерпретатор IDE Shell.

### Работа с Python и оператор print

#### Начало работы

1. В IDE Shell запускаем новый файл(New File).
2. Напишем программу "Привет Мир!".
3. Пишем в файле оператор "print ()".
4. Чтобы вывести сообщение "Привет Мир!", в скобочка нужно написать Привет Мир, но чтобы вывести текст на экран, нужно привет мир написать в кавычках. Например: print ("Привет Мир!").
5. Далее сохраняем файл и запускаем. Для того чтобы запустить файл переходим на Run/Run Modyle или просто нажимаем F5.

```
print ("Привет Мир!")

```

#### Оператор print

```
Оператор print() — это оператор вывода.

Оператор print() в языке Python предназначена для вывода заданных объектов на стандартное устройство вывода — обычно экран, также может отправлять их в файл.

```

### Ошибка при работе

Если вы написали оператор print c ошибкой, например: prnt ("Привет Мир!"). Что тогда будет:

* Вы увидите что синтаксис не подсвечивается
* Если вы все таки решили сохранить и запустить файл, то программа напишет ошибку:

```
*Traceback (most recent call last):*
 *File "C:/Users/ArtemNevsky/AppData/Local/Programs/Python/Python310/Урок 1.py", line 1, in <module>*
 *prnt ("Привет Мир!")*
*NameError: name 'prnt' is not defined. Did you mean: 'print'?*

```

* Что он написал:

```
*Traceback (most recent call last):*
 *File "C:/Users/ArtemNevsky/AppData/Local/Programs/Python/Python310/Урок 1.py"**(В каком файле)**, line 1**(на какой строчки)**, in <module>*
 *prnt ("Привет Мир!")*
*NameError: name 'prnt' is not defined**(здесь он пишет, что имя(фикция) prnt неизвестна)**. Did you mean: 'print'**(Здесь он предположит, что возможно, вы имели в виду: print)**?*

```

* Если все исправить, то ошибка пропадет.

### Переменные

Переменные нужны для хранение информации и ее обработке. Чтобы мы могли сохранить данные, чтобы в дальнейшим их использовать, изменять, применять. Переменные нужны для организации данных.

Если простыми словами. Переменная — это емкость, в емкость мы налили жидкость. Теперь в емкости(переменной) у нас налита воды(данные). Я решил вылить воду и налить в емкость лимонад, тем самым переменная у меня осталось таже, а данные поменялись.

Python сам вычисляет тип переменной которая нам нужна, поэтому он работает чуточку медленнее, в отличии от языков где тип создаться в ручную.

#### Типы переменных

```
Int — Целые числа (1, 20, 128).
Float — Вещественные числа (0.25, 0.0003, 33,33)
Str — Строковый тип (Набор символов, например: "Привет Мир!")
Bool — Логический тип (true/false, правда/ложь, да/нет)

```

Имя переменных не может начинаться с цифр, не может содержать пробел, не может содержать имена заложенные в язык(например: print),

#### Пример работы с переменной

```
Message = "Привет Мир!"
print (Message)

Где Message переменная.

```

#### Математические операции

Python поддерживает почти все математические операции:

* A+B Сложение.
* A-B Вычитание.
* A\*B Умножение.
* A/B Деление.
* A//B Целая часть от деления.
* A%B Остаток от деления.
* A\*\*B Возведение в степень.

### Операторы сравнений

* A>B Больше.
* A**=B Больше или Равно.**
*** A<=B Меньше или Равно.

* A==B Равно.

* A!=B Не равно.**

**### Оператор if**Оператор if проверяет условия и выбирает дальнейшее действие от результата сравнения условий. Условие может выбирать либо истина, либо ложное.

Условие If выглядит следящим образом

**```
if(если) Условие:
    Действие 1
    Действие 1
    ...
    Действие N

```**

**#### Работа if***** Напишем следующее, это проверка возраста. Нам предположим 19 лет, и идет проверка есть ли нам 18 если есть то нам пишет "Тебе войти можно"****```
Age = 19
if (Age >= 18):
    print("Тебе войти можно")

```**

**### Полное ветвление**Полное ветвление — это, если условие выполнилось, если мы делаем действие 1, а если условие ложные мы выполняем действие 2, за последнее отвечает конструкция elce

**```
if(если) условие:
    Действие 1
else(еще):
    Действие 2

```**

**#### Работа else***** Напишем следующее, это проверка возраста. Нам предположим 19 лет, и идет проверка есть ли нам 18 если есть то нам пишет "Тебе войти можно", а если меньше 18 то пишет "Тебе войти нельзя"****```
Age = 19
if (Age >= 18):
    print("Тебе войти можно")
else:
    print("Тебе войти нельзя")

```**

**### Дополнительное условие elif**Дополнительное условие — это, если условие выполнилось, если мы делаем действие 1, а если произошло условие 2, то действие будет 2(за это отвечает условие конструкция elif), а если условие ложные мы выполняем действие 3.

**```
if(если да) условие 1:
    Действие 1
elif(если это, то) условие 2:
    Действие 2
else(если нет):
    Действие 3

```**

**#### Работа elif***** Напишем следующее, это проверка возраста. Нам предположим 19 лет, и идет проверка есть ли нам больше 18, то пишет "Тебе войти можно", а если меньше 18 то пишет "Тебе войти можно с родителями", а если меньше 16, то пишет "Тебе войти нельзя"****```
Age = 19
if (Age >= 18):
    print("Тебе войти можно")
elif (Age <= 18) and (Age >= 15):
    print("Тебе войти можно с родителями")
else:
    print("Тебе войти нельзя")

```****#### Логический оператор**Если вы заметили у наст есть оператор "and", это логический оператор.

**```
 and (и) — логическое умножение.
 or (или) — Логическое сложение.
 not (нет) — Логическое отрицание.

```**

**### Оператор пользовательского ввода****```
 input() — Оператор пользовательского ввода

```**Давайте сделаем так, чтобы не программист, а пользователь вводил свой возраст.

**#### Ошибка работы с input**Если в переменной age применим оператор input, то он выдаст ошибку. Почему же ошибка? Потому что оператор input, когда мы записываем в него какое-либо значение(пользователь вводит в него что-то), оператор воспринимает его как строку, а мы работаем с целыми числами.

**```
Age = input("Сколько тебе лет?")
if (Age >= 18):
    print("Тебе войти можно")
elif (Age <= 18) and (Age >= 15):
    print("Тебе войти можно с родителями")
else:
    print("Тебе войти нельзя")

```****#### Операторы преобразования**Для того чтобы перевести строку в целые числа используется операторы преобразования.

**```
int() — создает целочисленное число
float() — создает вещественное число
str() — создает строку

```**Вот как будет выглядеть код когда мы строку преобразуем в целое число.

**```
Age = int(input("Сколько тебе лет?"))
if (Age >= 18):
    print("Тебе войти можно")
elif (Age < 18) and (Age > 15):
    print("Тебе войти можно с родителями")
else:
    print("Тебе войти нельзя")

```****### Повторим****```
Еще раз давайте разберем, что же происходит в нашей программе. У нас есть перемена age, она отвечает за возраст. Мы в нее присваиваем целочисленное значение int() того что на введёт пользователь input("Сколько тебе лет?"). Это все вместе будет.
Age = int(input("Сколько тебе лет?"))

Затем мы сравниваем переменную age. Если нам больше либо равно 18 нам войти можно. Если меньше 18 но в то же время больше чем 15 можно выходить с родителями. Если не выполнить ни одно из этих условий то ему вообще суда нельзя.
if (Age >= 18):
    print("Тебе войти можно")
elif (Age < 18) and (Age > 15):
    print("Тебе войти можно с родителями")
else:
    print("Тебе войти нельзя")

```**