Осваиваем Python: преобразование строки в число на конкретных примерах
Иногда требуется преобразовать строку в целое число или в число с плавающей точкой для осуществления определённых операций в Python.
Если вы попробуете выполнить то или иное действие со строкой в виде чисел, то получите ошибку.
Этот код приведёт к ошибке :
str_a = ’50’ b = 10 c = str_a + b print (c)
В Python можно использовать функции int и float для преобразования строки в целое число или число с плавающей точкой до осуществления каких-либо операций.
Использование функции int() для преобразования строки в целое число
Рассмотрим следующий код:
str_a = '50' b = 10 c = int(str_a) + b print ("The value of c header-42948-2">Преобразование десятичной строки в число с плавающей точкойМожно использовать класс float для того чтобы осуществить преобразование строки в число с плавающей точкой.
Пример использования float для преобразования строки:
#Пример преобразования string во float str_a = '50.85' b = 10.33 c = float(str_a) + b print ("The value of c 1" data-ab-test="post_related" data-ab-key="yarpp">Модуль re Python – осваиваем регулярные выражения PythonЗамечание: если вы попытаетесь использовать здесь функцию int(), то получите ошибку.
Преобразование списка строковых чисел в список целых чисел
Если нужно преобразовать строки из чисел, содержащиеся в списке, тогда используйте генератора списков.
Будет создан новый список, в котором можно применить функцию int в каждой итерации.
Код:
#Пример преобразования string в int в списке str_lst = ['1', '2', '3'] int_lst = [int(x) for x in str_lst] print (int_lst)
Будет выведен новый список, состоящий из целых чисел, полученных из строк.
Преобразование списка строк в список чисел с плавающей точкой
Аналогичным образом можно использовать float вместо int для преобразования списка, содержащего строки из целых чисел. Рассмотрим пример:
Код для преобразования элементов списка в числа с плавающей точкой:
#Пример преобразования string во float в списке str_lst = ['10.505', '2.3', '3.99'] float_lst = [float(x) for x in str_lst] print (float_lst)
Пример преобразования строки с запятыми в число
Ну а как насчёт строки наподобие “5,000,000”? Если попытаетесь преобразовать ее, используя функции int() или float() , то получите ошибку.
Решением будет использование import locale . Например:
locale.setlocale(locale.LC_ALL, ‘en_US.UTF-8’ )
Но это может вызвать проблемы в остальных локалях. Другое решение заключается в том, чтобы заменить запятые пустыми строками, то есть“”, а затем использовать функцию int.
str_a = '5,123,000' int_b = int(str_a.replace(',','')) print ("The integer value",int_b)
В результате получаем целое значение. Это же решение можно применить для конвертации строки в число с плавающей точкой.
Преобразование строки в число для расчёта високосного года -пример
Пользовательский ввод в Python- программах воспринимается как строка. В следующем примере пользователя просят ввести год. После ввода значения программа сообщает, високосный это год или нет.
Для этого введённое значение сначала преобразуется в целое число, а затем используется формула расчёта високосного года.
#Пример расчёта високосного года try: Y = int(input("Enter a Year? ")) exceptValueError: print ("You may only enter digits in '2000' format!") else: leap_or_not = Y%4 == 0 ifleap_or_not: print ("Leap year") else: print ("Not a leap year")
Вводимая строка сразу преобразуется в целое число, а затем используется для расчёта.
Как преобразовать целое число в строку?
Для преобразования целых чисел в строки в Python можно использовать функцию str() . Функция str() принимает объект, который может быть типа int , float , double и т.п.
Рассмотрим пример преобразования переменной типа int в строку, которая затем используется как строка для конкатенации:
#Примерпреобразованияint в string a_string = "str function for int to string" a_num = 456 print (a_string + str(a_num))
str function for int to string456
Если бы целочисленная переменная была использована без функции str(), возникла бы ошибка TypeError.
Сергей Бензенко автор-переводчик статьи « 5 examples to Convert a Python string to int and float »
Список из int преобразовать в отдельные числа
Нужно вывести все элемента списка A = [[1],[2],[3]] как intы. Когда вывожу print(A[0]), выводится [1], а не 1, как мне нужно. Если написать print(A[0][0]), то выводится ошибка list index out of range. Изначально эта же проблема была с numpy.array, но я нашел как преобразовать такой массив в стандартный питоновский список. Вот только работать с ним я тоже не умею. Помогите, пожалуйста.
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:
Как преобразовать строку в список List
в строке хранятся значения 123,124,135,98. Как их преобразовать и поместить в List<int>?
Как преобразовать дробную часть числа типа double в int
Есть дробное число, например Z = 123,456 нужно разбить его на два целых числа int I = 123 int.

Не удается неявно преобразовать тип "(int, int)" в "System.Collections.Generic.List
Здравствуйте, совсем недавно начал изучать шарп и вот переделывая задание с плюсов на шарп.
error C2664: Display: невозможно преобразовать параметр 1 из 'int [5]' в 'int"
Добрый вечер! Прошу помочь, так как сам только начал изучать СПП (поэтому отнеситесь с.

Ошибка error C2440: инициализация: невозможно преобразовать 'int' в 'int []'
// ConsoleApplication9.cpp: определяет точку входа для консольного приложения. // #include.
Перевести список в число
Доброго вечера. Заклинило на очередной задачке, не могу никак решить ее последнее условие, как мне правильнее будет перевести список в число? Ибо на вход поступают числа > 10 и тогда min/max их не видит. Спасибо!
1 2 3 4 5 6 7
s = input().split() ind_min = s.index(min(s)) ind_max = s.index(max(s)) s[ind_min], s[ind_max] = s[ind_max], s[ind_min] print(*s)
Лучшие ответы ( 1 )
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:
Ошибка в коде: Перевести число 2-ую СС, переставить цифры так, чтоб получилось максимальное и перевести его в 10-ую СС
Перевести число 2 -ую сс, переставить цифры так, чтоб получилось максимальное и перевести его в.
Перевести список чисел в список соответствующих слов
Перевести список чисел в список соответствующих слов.
Am I evil? Yes, I am!


16119 / 9755 / 2730
Регистрация: 21.10.2017
Сообщений: 21,624
Сообщение от droll55 
s = input().split()
s = map(int, input().split())
Регистрация: 12.12.2020
Сообщений: 33
Дает ошибку:
ind_min = s.index(min(s))
AttributeError: 'map' object has no attribute 'index'
По условию задачки нужно самое большое и самое маленькое число поменять местами и вывести списком.
Am I evil? Yes, I am!


16119 / 9755 / 2730
Регистрация: 21.10.2017
Сообщений: 21,624

Сообщение было отмечено droll55 как решение
Решение
Ну ёпрст!
s = list(map(int, input().split()))
Регистрация: 12.12.2020
Сообщений: 33
А, вот оно что Спасибо !
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Помогаю со студенческими работами здесь
Перевести список чисел в список соответствующих слов
Перевести список чисел в список соответствующих слов. Турбо пролог

Дано число n. Требуется перевести это число в римскую систему счисления
Дано число n. Требуется перевести это число в римскую систему счисления. Вход 9 Выход IX Вход .
Перевести число в формате ieee-754 в число в десятеричной с.о
Здравствуйте. Как в джаве написать перевод числа в формате ieee-754 в число в десятеричной с.о.
Как перевести вещественное число в упакованное BCD число
прив! как преобразовать элемент вектора XMM в упакованное BCD двоично-десятичное число. в.
3 варианта, как сконвертировать список(list) в строку в Python 3
Это метод строк — он берет список и соединяет элементы списка в строку.
1. Если у вас список строк, можно просто использовать join.
my_list = ["Pythonist.ru", "-", "хороший", "сайт", "по","Python"] print(" ".join(my_list)) >>>Pythonist.ru - хороший сайт по Python
2. Если это список чисел, вы можете использовать map() для приведения всех элементов списка к строке, а потом просто склеить их в одну строку методом join()
my_list2 = [66, 77, 88, 99] print(" ".join(map(str, my_list2))) >>> 66 77 88 99
3. Если вы хотите получить разделенные запятой строки, можно использовать такой shortcut кода:
my_list3 = [11, 22, 33, 44, 55] print(str(my_list3).strip('[]')) >>> 11, 22, 33, 44, 55
Больше 50 задач по Python c решением и дискуссией между подписчиками можно посмотреть тут
Предыдущая запись
