преобразовать ascii каждого символа в строке в двоичный - PullRequest
0 голосов
/ 05 марта 2020

Итак, я пытаюсь создать программу, которая принимает отдельные значения символов ascii в строке ввода пользователя, добавляет 1 и преобразует это новое число в двоичное.

например, если пользователь вводит «abcde», мне нужно, чтобы вывод был

1100010 1100011 1100100 1100101 1100110

с двоичными значениями, разделенными такими пробелами, как этот. Теперь у меня есть

text = input()
for ch in text:
    new = ord(ch) + 1

    decimal = new
    bitString = ''
    while decimal > 0:
        remainder = decimal % 2
        decimal = decimal // 2
        bitString = str(remainder) + bitString

print(bitString)

, который дает мне двоичный файл для последнего ввода символов (поэтому, если пользователь вводит "abcde", он дает двоичный код значения ascii плюс 1), но как можно ли сделать это для всех персонажей?

1 Ответ

1 голос
/ 05 марта 2020

Вам нужно объявить bitstring как пустую строку перед началом for l oop вне ее. В противном случае он очищается каждый раз, когда запускается l oop, и поэтому печатается только последнее значение. Вы могли бы также использовать функцию bin вместо ord, которая немедленно дала бы вам двоичное представление.

...