因此,我正在尝试创建一个程序,该程序将用户输入字符串中的各个字符的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的二进制文件),但是我怎样才能对所有字符进行二进制编码?
答案 0 :(得分:2)
您需要在bitstring
循环开始之前将for
声明为空字符串。否则,每次循环运行都会清空它,这就是为什么仅输出最后一个值的原因。您也可以使用bin
函数来代替ord
,它会立即为您提供二进制表示形式。