В этом разделе мы узнаем, как преобразовать строку в целое число с использованием встроенного типа данных и без него. Мы знаем, что строка - это набор символов, расположенных последовательно, заключенных в кавычки, а целое число - это число без десятичных знаков, не заключенное в кавычки любого типа.
Но когда возникает вопрос, как преобразовать один тип данных в другой, Python предоставляет простой способ преобразования друг в друга. В этом случае мы видим, как преобразовать строку в целое число в следующем порядке:
Использование встроенных типов данных
для чего используется пружинный каркас
Предположим, что когда я по какой-то причине беру данные от пользователя, Python принимает их и возвращает как строку. Другими словами, даже если кто-то вводит число в качестве входных данных, Python возвращает его в виде строки.
name = input ('Как тебя зовут:') print (имя) print (тип (имя)) age = input ('Каков твой возраст:') print (age) print (type (age))
Вывод:
Как тебя зовут: Тайра
Тайра
Ваш возраст: 20
двадцать
Как видите, в качестве входных данных используются тип имени и возраста «Строка».
Теперь предположим, что если мы хотим добавить 5 к возрасту, мы сделаем следующее:
name = input ('Как тебя зовут:') print (name) print (type (name)) age = input ('What is your age:') print (age) print (type (age)) print (age + 5)
Вывод:
Как тебя зовут: Тайра
Тайра
Ваш возраст: 20
двадцать
Отслеживание (последний вызов последний):
Файл 'C: /Users/prac.py', строка 9, в
печать (возраст + 5)
TypeError: должно быть str, а не int
Мы не можем прибавить 5 к возрасту, потому что age относится к типу String, и мы не можем выполнять прямые математические вычисления со строками. Таким образом, мы должны изменить возраст на целое число, потому что мы взяли возраст в качестве входных данных, а Python возвращает его как String.
Следовательно.
name = input ('Как тебя зовут:') print (name) print (type (name)) age = input ('What is your age:') print (age) print (type (age)) age = int ( возраст) печать (возраст + 5)
Вывод:
Как тебя зовут: Тайра
Тайра
Пример массива объектов java
Ваш возраст: 20
двадцать
25
Обычный способ
Предположим, мы не хотим использовать встроенную функцию int () для преобразования строки в целое число.Итак, мы должны использовать обычный способ преобразовать.
Вот простой способ преобразования без использования int ().
'' '' 123 '-> 123' -12332 '-> -12332' '' def str_to_int (input_str): output_int = 0 if input_str [0] == '-': start_idx = 1 is_negative = True иначе: start_idx = 0 is_negative = Ложь для i в диапазоне (start_idx, len (input_str)): place = 10 ** (len (input_str) - (i + 1)) digit = ord (input_str [i]) - ord ('0') output_int + = место * цифра, если is_negative: вернуть -1 * output_int иначе: вернуть output_int s = '554' x = str_to_int (s) print (type (x)) s = '123' print (str_to_int (s)) s = '-123' печать (str_to_int (s))
Вывод:
123
-123
Сначала мы проверим, содержит ли номер, предоставленный пользователем, знак минус или нет, т. Е. Отрицательное число или нет.Если в первой позиции стоит знак минус, мы начинаем преобразование со второй позиции, содержащей числа.
Любое число, скажем 123, можно записать в виде -10 ** 2 * 1 + 10 ** 1 * 2 + 10 ** 0 * 3
класс __init__ python
Точно так же мы разделяем каждое входное число, используя слово (аргумент) .
ord (‘0’) вернет 48, ord (‘1’) вернет 49 и т. д.
Здесь мы используем логику: ord ('1') - ord ('0) = 1, ord (' 2 ') - ord (' 0 ') = 2 и т. Д., Что дает нам значащее число, которое нужно извлечь из заданного введите номер.
Наконец, вывод, который мы получаем от функции, является допустимым целым числом, которое мы преобразовали из заданной входной строки.
Итак, как видите, мы можем преобразовать любую строку в целое число либо с помощью функции int (), либо обычным способом.
Я надеюсь, что вы хорошо изучили концепции и, следовательно, попробовали их, чтобы быть более точными, и на этом мы подошли к концу этой статьи о преобразовании строки в int с помощью Python.
Есть вопрос к нам? Пожалуйста, укажите это в комментариях к этому руководству String to Integer, и мы свяжемся с вами как можно скорее.
Чтобы получить более глубокие знания о Python и его различных приложениях, вы можете зарегистрироваться в режиме реального времени. с круглосуточной поддержкой и пожизненным доступом.