Языки программирования

Преобразование строки в число

Дорогие друзья, на предыдущем уроке мы уже научились, как необходимо выводить числа, не имеющие длинных хвостов (например, 3.21312323 -> 3.21). Мы узнали, что существует числовой тип данных и строчный, а также о функции input(), ожидающей от пользователя ввода данных, которые при получении можно присвоить в переменную и в дальнейшем с этими данными работать.

Все данные, которые мы получили с инструкции input(), считаются строчным типом. После того, как программа получит цифры и у нас появится желание выполнить над ними математические действия, то в итоге получится неожидаемый результат. Дело в том, что данный тип не является числом. А для последующей работы с данными, как  с числами нужно выполнить преобразование строки в число.

Давайте все рассмотрим на примере:

В итоге мы получаем склейку строк (на заумном языке — констатацию), вместо сложения над числами. Вместо цифр можно попробовать передать программе буквы. Как вы сами видите — результат не тот, который ожидали.

Чтобы преобразовать строку в число необходимо каждую нашу инструкцию input() обернуть в int(). В дальнейшем над ними можно выполнять математические операции.

Для преобразования чисел в строку все действия нужно сделать наоборот. Наше число в необходимо обернуть в str(), после чего на выходе получится строка.

Рассмотрим пример преобразование строки в число:

На примере видно, как все легко. Хотя, нужно отметить, что наша программа — это не идеал. Вспомним  дробные числа (float) и целые числа (int). Если пользователь введет дробное число мы получаем ошибку в виде: ValueError: invalid literal for int() with base 10: (и ваше дробное число). Чтобы решить проблему, необходимо все input() обернуть в float(), а не в int(). Благодаря таким действиям на выходе получится дробное число, а если с него нужно показать целое, то используйте знания с предыдущего урока.

В следующем уроке мы будем изучать составные операторы Python.