{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "9fef6dfe",
   "metadata": {},
   "source": [
    "# 01-01 · Добро пожаловать в Python\n",
    "\n",
    "Практика к главе 1 книги «Python с нуля» (Cartesian School). Никакой установки не нужно —\n",
    "это ваш самый первый контакт с работающим кодом."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "70c8f3ce",
   "metadata": {},
   "source": [
    "## Цель\n",
    "\n",
    "Почувствовать, каково это — запускать код и сразу видеть результат. Никакой теории, только\n",
    "первый опыт."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "465f7165",
   "metadata": {},
   "source": [
    "## Что нужно знать\n",
    "\n",
    "Ничего. Правда. Если вы никогда раньше не запускали код — это отличное место начать."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ce508429",
   "metadata": {},
   "source": [
    "## Краткое напоминание\n",
    "\n",
    "Команда `print(...)` выводит на экран то, что вы ей передали. Текст в Python всегда\n",
    "заключается в кавычки — одинарные `'...'` или двойные `\"...\"`, разницы нет."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "1ce28a4a",
   "metadata": {},
   "source": [
    "## Рабочий пример"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "123af533",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-08-14T20:52:09.312451Z",
     "iopub.status.busy": "2026-08-14T20:52:09.312344Z",
     "iopub.status.idle": "2026-08-14T20:52:09.329258Z",
     "shell.execute_reply": "2026-08-14T20:52:09.328827Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Привет, мир!\n"
     ]
    }
   ],
   "source": [
    "print(\"Привет, мир!\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "28a08e34",
   "metadata": {},
   "source": [
    "## Эксперимент 1\n",
    "\n",
    "Замените текст внутри кавычек на своё собственное приветствие и запустите ячейку снова."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "0e456edb",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-08-14T20:52:09.330370Z",
     "iopub.status.busy": "2026-08-14T20:52:09.330255Z",
     "iopub.status.idle": "2026-08-14T20:52:09.332918Z",
     "shell.execute_reply": "2026-08-14T20:52:09.332583Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Привет, Cartesian School!\n"
     ]
    }
   ],
   "source": [
    "print(\"Привет, Cartesian School!\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "4e026e2e",
   "metadata": {},
   "source": [
    "## Эксперимент 2\n",
    "\n",
    "`print()` умеет выводить не только текст. Попробуйте передать ему число или даже пример\n",
    "арифметики — Python сам всё посчитает."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "13212c5b",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-08-14T20:52:09.334006Z",
     "iopub.status.busy": "2026-08-14T20:52:09.333896Z",
     "iopub.status.idle": "2026-08-14T20:52:09.335906Z",
     "shell.execute_reply": "2026-08-14T20:52:09.335587Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "33\n",
      "42\n"
     ]
    }
   ],
   "source": [
    "print(2024 - 1991)\n",
    "print(7 * 6)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "2dc453ce",
   "metadata": {},
   "source": [
    "## Типичная ошибка\n",
    "\n",
    "Если убрать кавычки, Python решит, что вы обращаетесь к чему-то по имени — переменной или\n",
    "функции, — а не к обычному тексту. Такого имени не существует, и Python сообщит об ошибке\n",
    "`NameError`."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "7c689dc3",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-08-14T20:52:09.336990Z",
     "iopub.status.busy": "2026-08-14T20:52:09.336886Z",
     "iopub.status.idle": "2026-08-14T20:52:09.363556Z",
     "shell.execute_reply": "2026-08-14T20:52:09.363074Z"
    },
    "tags": [
     "raises-exception"
    ]
   },
   "outputs": [
    {
     "ename": "NameError",
     "evalue": "name 'Привет' is not defined",
     "output_type": "error",
     "traceback": [
      "\u001b[31m---------------------------------------------------------------------------\u001b[39m",
      "\u001b[31mNameError\u001b[39m                                 Traceback (most recent call last)",
      "\u001b[36mCell\u001b[39m\u001b[36m \u001b[39m\u001b[32mIn[4]\u001b[39m\u001b[32m, line 2\u001b[39m\n\u001b[32m      1\u001b[39m \u001b[38;5;66;03m# ошибка: текст без кавычек\u001b[39;00m\n\u001b[32m----> \u001b[39m\u001b[32m2\u001b[39m print(Привет)\n",
      "\u001b[31mNameError\u001b[39m: name 'Привет' is not defined"
     ]
    }
   ],
   "source": [
    "# ошибка: текст без кавычек\n",
    "print(Привет)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "affe41e9",
   "metadata": {},
   "source": [
    "## Исправление\n",
    "\n",
    "Достаточно вернуть кавычки — тогда Python понимает, что это обычный текст, а не имя\n",
    "переменной."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "624e386d",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-08-14T20:52:09.364696Z",
     "iopub.status.busy": "2026-08-14T20:52:09.364563Z",
     "iopub.status.idle": "2026-08-14T20:52:09.366632Z",
     "shell.execute_reply": "2026-08-14T20:52:09.366227Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Привет\n"
     ]
    }
   ],
   "source": [
    "print(\"Привет\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "4f0296e6",
   "metadata": {},
   "source": [
    "## Задание ★ Базовая практика\n",
    "\n",
    "Выведите на экран три строки: своё имя, свой любимый цвет и число, которое вам нравится.\n",
    "Каждая строка — отдельный вызов `print()`."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "3ca309a1",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-08-14T20:52:09.367618Z",
     "iopub.status.busy": "2026-08-14T20:52:09.367456Z",
     "iopub.status.idle": "2026-08-14T20:52:09.370009Z",
     "shell.execute_reply": "2026-08-14T20:52:09.369439Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Cartesian School\n",
      "Электрик-синий\n",
      "14\n"
     ]
    }
   ],
   "source": [
    "print(\"Cartesian School\")\n",
    "print(\"Электрик-синий\")\n",
    "print(14)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ec2841a6",
   "metadata": {},
   "source": [
    "## Самостоятельная практика\n",
    "\n",
    "`print()` можно вызывать сколько угодно раз подряд — а значит, из символов на экране можно\n",
    "собрать простую картинку. Попробуйте нарисовать текстом что-нибудь своё: домик, ёлочку,\n",
    "смайлик — что угодно из символов клавиатуры."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "e1a23aa4",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-08-14T20:52:09.370982Z",
     "iopub.status.busy": "2026-08-14T20:52:09.370879Z",
     "iopub.status.idle": "2026-08-14T20:52:09.373042Z",
     "shell.execute_reply": "2026-08-14T20:52:09.372613Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "  /\\  \n",
      " /  \\ \n",
      "/____\\\n"
     ]
    }
   ],
   "source": [
    "print(\"  /\\\\  \")\n",
    "print(\" /  \\\\ \")\n",
    "print(\"/____\\\\\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "34742d90",
   "metadata": {},
   "source": [
    "## Дополнительная задача ★★★\n",
    "\n",
    "`print()` может принять сразу несколько значений через запятую — тогда они выводятся в одну\n",
    "строку через пробел. Выведите одной командой `print()` три разных значения: текст, число и\n",
    "результат арифметического выражения."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "ea50acd2",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-08-14T20:52:09.374079Z",
     "iopub.status.busy": "2026-08-14T20:52:09.373934Z",
     "iopub.status.idle": "2026-08-14T20:52:09.376872Z",
     "shell.execute_reply": "2026-08-14T20:52:09.376400Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Результат: 6 42\n"
     ]
    }
   ],
   "source": [
    "print(\"Результат:\", 6, 7 * 6)"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Cartesian Python 3.14",
   "language": "python",
   "name": "cartesian-python314"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.14.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
