Я делаю упражнение для Python программирования, но борюсь за это. Мой вывод оказался таким же, как в примере. Я не знаю, где я сделал не так. Я буду признателен за любую помощь.
Инструкция: используйте стратегию десятичного преобразования в двоичную и операцию сдвига влево, определенную в проекте 5, для кодирования нового алгоритма шифрования.
Алгоритм должен:
- Добавьте 1 к числовому значению каждого символа c ASCII-значение.
- Преобразуйте его в битовую строку.
- Сдвиньте биты этой строки на одно место в left.
Символ пробела в зашифрованной строке разделяет результирующие строки битов.
Пример ввода и вывода программы показан ниже:
Enter a message: Hello world!
0010011 1001101 1011011 1011011 1100001 000011 1110001 1100001 1100111 1011011 1001011 000101
Вот мой код:
message = input("Enter a message: ")
for character in message:
x = ord(character)
x += 1
bstring = ''
while x > 0:
remainder = x % 2
x = x // 2
bstring = str(remainder) + bstring
output = bstring[1:] + str(bstring[0])
print(output)