Посмотрим, как работают разные типы данных. Как и всегда создадим для этого новый файл. Итак, как мы уже знаем, что компьютер делит все на строки и на число, посмотрим, как работает арифметика для чисел. У нас есть совершенно обычные команды умножения, деления, вычитания и сложения, знакомые нам по работе с любым калькулятором. Кроме этого, у нас есть две хитрых команды, которые позволяют все делить в столбик. Например, это команда деления с остатком (деление нацело) и команда взятия остатка. Если мы пять нацело поделим на два, то мы получим два, потому что ближайшее делящее число — это четыре, и в остаток у нас уйдет единичка. Все те же самые команды прекрасно работают и для вещественных чисел. Например, если мы возьмем 5.5 вместо пяти, то все по-прежнему будет прекрасно работать. Также прекрасно все будет работать, если мы сохраним наши числа в переменные. Давайте, наверное, 5.5 продолжим с 5.5. Например, мы можем возвести еще число в степень. Сейчас мы можем 5.5 возвести в квадрат. Что мы можем делать со строками? Со строками мы можем их склеивать. Да, мы можем, например, написать команду склеить две строчки "Hello" и "World!", и получить на выходе фразу "Привет, мир!" И мы можем попросить строчки повторится несколько раз, например, мы можем строчку "Hello" повторить три раза. Опять же, компьютер все сделает. Таким образом, для компьютера очень важно, какой тип данных мы используем, потому что в примере "4 плюс 2", в зависимости от того, четыре и два являются строкой или числом, получится либо "6", либо "42". Что будет, если мы вдруг сложим строку с числом? Попробуем сделать то, что компьютер не умеет. Компьютер нам скажет, что произошла ошибка типа. "Ошибка типа, я не могу." Если перевести вывод ошибки, то здесь написано, что второе слагаемое должно быть строкой. "Я не могу сложить строку с числом. Я увидел, что вначале стоит строка, и для меня этот плюсик, — говорит нам компьютер, — является не сложением, а склейкой. Я не могу приклеить число к строке. Мне нужно, чтобы ты как-то превратил число в строку, дорогой мой программист." Давайте посмотрим на то, как компьютер вообще внутри себя воспринимает эти вещи — строки и числа. Для этого мы можем воспользоваться внутренней командой "type". Как видите, команды тоже могут быть аргументами для других команд. Сейчас я положил команду "type" внутри скобок команды "print". Это означает, что компьютер сначала выполнит команду "type", посмотрит, что она ему даст, а после этого этот результат команды "type" выведет с помощью команды "print" на экран. Мы видим, что технически, несмотря на то, что я сейчас пользуюсь только цифрами, у меня есть цифра "4", написанная в одинарных кавычках, но компьютер говорит, что это строка. Он говорит: "Это строка". Оно написано в одинарных кавычках, значит это строка, и внутри себя компьютер относится к этому как к строке, и думает, что это строка. И вот эту четверку, написанную в кавычках, мы не можем разделить, потому что мы не умеем делить строки. Число два является целым числом с точки зрения компьютера, а число 5.5 является вещественным. Компьютер видит, что где-то внутри числа 5.5 есть запятая. Эта запятая может быть, может не быть. Мы можем 5.5 умножить на два, получить 11 и формально это тоже будет вещественное число. Эта запятая может быть, может не быть, она такая плавающая, поэтому компьютер говорит, что это вещественное число. Давайте попробуем превратить числа в строки и назад. Давайте попробуем написать калькулятор, который спросит у человека два числа и сложит их. Вот мы просим компьютера ввести два числа, просим вывести на экран ответ, и понимаем, что все те числа, которые человек вводит с клавиатуры, компьютера, на самом деле, понимает строкой. Для него "4" — это строка, и "2" — тоже строка. Поэтому мы должны каким-то образом эти два числа из строки сделать числом. И для этого нам пригодятся команды превращения типов данных. Названия этих команд полностью совпадают с тем, как внутри себя с названиями типов данных внутри компьютера. Команда "int" позволит нам получить целое число. Что я сейчас сделал? Сейчас я попросил компьютер сначала узнать у человека что-то, а потом к тому, что компьютер узнал от человека, применить преобразование, применить команду "int", которая из введенной человеком информации сделает целое число. То же самое я сделал и с переменной "b". Здесь тоже две команды, одна вложена в другую: сначала мы что-то узнаем от человека, потом превратим в целое число. И, наконец, давайте попробуем написать какую-нибудь более жизненную программу. Например, калькулятор, который считает вес одного кусочка торта. Мы знаем, что вес торта — вещь вещественная, потому что торт может весить килограмм, а может весить полкилограмма. То есть там может быть, а может и не быть запятая где-то внутри числа, поэтому мы спрашиваем у человека "Сколько весит торт?" и преобразовываем это в вещественное число. Потом мы узнаем, сколько кусков будет нарезано. И, наконец, мы можем вывести на экран, сколько же весит каждый кусок. При этом мы понимаем, что результат деления торта на куски, вообще говоря, тоже будет вещественным. Мы вещественное число не можем склеить за строкой, мы будем должны преобразовать результат этого деления в строку. И давайте попробуем запустить. Пусть у нас торт весит один килограмм. Пусть у нас будет четыре куска, и каждый кусок тогда весит 0.25 килограмм. Мы поработали сейчас с тремя разными переменными, с тремя разными числами: с вещественным, с целым. И неожиданно, но со строкой. Удачи вам в использовании этих знаний.