Python, строка из 0 и 1 в ascii [дубликат]
Всем привет. Есть строка — ‘01101000’, в ascii это буква h. Необходимо сделать перевод этих символов, собственно, в ascii и на выходе получить h.
Отслеживать
задан 12 апр 2018 в 18:08
23 2 2 бронзовых знака
1 ответ 1
Сортировка: Сброс на вариант по умолчанию
В число преобразовать, затем в символ:
print(chr(int('01101000',2)))
Отслеживать
ответ дан 12 апр 2018 в 18:26
52.3k 3 3 золотых знака 19 19 серебряных знаков 43 43 бронзовых знака
Спасибо большое 🙂
12 апр 2018 в 18:30
- python
- строки
- ascii
-
Важное на Мете
Связанные
Похожие
Дизайн сайта / логотип © 2024 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2024.1.3.2953
Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.
Осваиваем Python: преобразование строки в число на конкретных примерах
Иногда требуется преобразовать строку в целое число или в число с плавающей точкой для осуществления определённых операций в Python.
Если вы попробуете выполнить то или иное действие со строкой в виде чисел, то получите ошибку.
Этот код приведёт к ошибке :
str_a = ’50’ b = 10 c = str_a + b print (c)
В Python можно использовать функции int и float для преобразования строки в целое число или число с плавающей точкой до осуществления каких-либо операций.
Обновлено: 2023-05-31 19:18:07 Сергей Бензенко автор материала
Использование функции 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 »
Как преобразовать строковое представление списка в список в Python
Одна из распространенных проблем, с которыми может столкнуться разработчик на Python, заключается в необходимости преобразовать строку, представляющую собой список, обратно в список. Например, есть строка, которая выглядит как список:
x = '[ "A","B","C" , " D"]'
И требуется преобразовать ее в реальный список, учитывая пробелы между элементами и внутри кавычек:
x = ["A", "B", "C", "D"]
Использование встроенной функции eval()
Самым простым и прямолинейным способом преобразования строки, представляющей список, в реальный список является использование встроенной функции Python eval() . Эта функция анализирует строку и выполняет ее как выражение Python.
x = '[ "A","B","C" , " D"]' x = eval(x)
Однако, стоит учесть, что использование eval() не рекомендуется из-за возможных проблем безопасности. Если строка, которую необходимо преобразовать, приходит из ненадежного источника, она может содержать вредоносный код.
Использование модуля ast
Более безопасным способом преобразования строкового представления списка в список является использование функции literal_eval() из модуля ast . Эта функция анализирует строку и выполняет ее как выражение Python, но с ограничением только на простые типы данных, такие как числа, строки, списки, кортежи и словари.
import ast x = '[ "A","B","C" , " D"]' x = ast.literal_eval(x)
Такой подход исключает выполнение вредоносного кода, который может быть встроен в строку. Вместе с тем, он позволяет безопасно преобразовывать строковые представления списка в реальные списки.
Преобразование строки в число в Python. Особенности преобразования числа в строку

Иногда нам нужно выполнить преобразование строки в целое число либо в число с плавающей точкой. Потребность в этом возникает для осуществления ряда операций. Как это сделать в Python, мы сейчас и поговорим.
Чтобы осуществить преобразование строки в целое число либо число с плавающей точкой, в Python используют функции int и float. Если вы захотите выполнить преобразование без применения данных функций, то получите ошибку. Например, к ошибке приведёт следующий код:
str_a = ’50’ b = 10 c = str_a + b print (c)
Преобразование строки в целое число с помощью int() в Python
Давайте посмотрим на следующий участок кода:
str_a = '50' b = 10 c = int(str_a) + b print ("The value of c = ",c)
С его помощью мы выведем значение переменной «c», которое будет представлять собой сумму переменных «str_a» и «b».
Преобразуем десятичную строку в число с плавающей точкой в Python
Для преобразования строки в число с плавающей точкой мы можем использовать float:
#Преобразование string во float str_a = '50.85' b = 10.33 c = float(str_a) + b print ("The value of c = ",c)
Однако учтите, что если вы захотите задействовать тут функцию int() , это приведёт к ошибке.
Преобразуем список строковых чисел в список целых чисел в Python
Бывает, что в Python необходимо выполнить преобразование строки из чисел, содержащихся в списке. В таких случаях нам поможет генератор списков. Таким образом создаётся новый список, где можно использовать функцию int() в каждой итерации:
#Преобразование string в int в списке str_lst = ['1', '2', '3'] int_lst = [int(x) for x in str_lst] print (int_lst)
Мы выведем новый список, который будет состоять из целых чисел, полученных из строк.
Преобразуем список строк в список чисел с плавающей точкой в Python
Аналогично можно применять float вместо int для выполнения преобразования списка, включающего в себя строки из целых чисел:
#Преобразование string во float в списке str_lst = ['10.505', '2.3', '3.99'] float_lst = [float(x) for x in str_lst] print (float_lst)
Преобразование строки с запятыми в число в Python
Что делать, если у нас строка наподобие «1,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.
Преобразование строки в число при расчёте високосного года в 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() . Она принимает объект, который может иметь тип 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.