Для преобразования значений из одного типа в другой существует несколько функций. В следующих строках показана та из них, которая приводит аргумент к целочисленному типу:
1 2 |
year = input("Год вашего рождения:\n") year = int(year) |
Первая из этих двух строк принимает пользовательский ввод (строку) и делает его значением переменной year. Во второй строке выполняется преобразование: функция int() принимает строку, на которую ссылается year, и возвращает ее преобразованной в целое число. Это новое значение присваивается той же переменной year.
В следующих пяти строках другие издержки принимаются из пользовательского ввода и преобразуются в числа:
1 2 3 4 5 |
countries = int(input("Сколько государств?\n")) players = int(input("Сколько игроков участвуют?\n")) goals = int(input("Сколько голов забил зенит?\n")) fingers = int(input("Сколько пальцев на одной руке?\n")) books = int(input("Сколько книг желаете купить?\n")) |
Заметьте, что каждое присвоение выполняется в одну строку кода. А все потому, что вызовы функций input() и int() – вложенные. Когда говорят о вложении вызовов функций, имеют в виду, что один находится внутри другого. Это удобно, если значение, возвращаемое “внутренней” функцией, может выступать как арrумент для “внешней” функции. Здесь input() возвращает строковое значение, которое int() успешно преобразует в число.
В конструкции, присваивающей значение переменной goals, функция input() сначала спрашивает у пользователя, сколько голов забил зенит. Пользователь что-то отвечает, это строковое значение input() возвратит, после чего программа применит функцию int() к этой строке как аргументу. В свою очередь, int() возвратит целое число. Это число и становится значением переменной goals. Точно так же присвоение выполняется и в следующих выражениях.
Есть и другие функции конвертации значений между типами. Некоторые из них перечислены ниже.
Функция | Описание | Пример | Результат |
float(x) | Преобразует значение х в десятичную дробь | float(5) | 5.0 |
int(x) | Преобразует значение х в целое число | int(“30”) | 30 |
str(x) | Преобразует значение х в строку | str(50.5) | ‘50.5’ |