我正在尝试制作 Text to Binary 转换器脚本。这就是我所拥有的......
userInput = input()
a = ('00000001')
b = ('00000010')
#...Here I have every remaining letter translated in binary.
z = ('00011010')
因此,让我们说用户输入单词" Tree",我想转换为二进制的每个字母并显示它。我希望你能理解我在这里要做的事情。 PS。我有点新手! :)
答案 0 :(得分:0)
您尝试解决问题的方式并不理想。您已通过将二进制值分配给变量来支持自己。
使用变量,您将不得不使用eval()
动态获取其值:
result = ' '.join((eval(character)) for character in myString)
但是,请注意,关于使用eval()
和类似功能的一般共识是不。更好的解决方案是使用dictionary映射二进制值,而不是使用变量:
characters = { "a" : '00000001', "b" :'00000010' } #etc
result = ' '.join(characters[character] for character in myString)
然而,理想的解决方案是使用内置的ord()
函数:
result = ' '.join(format(ord(character), 'b') for character in myString)
答案 1 :(得分:0)
检查ord功能:
userinput = input()
binaries = [ord(letter) for letter in userinput]
答案 2 :(得分:0)
厚脸皮的单行,在带有标签
的新行上打印每个字符[print(val, "= ", format(ord(val), 'b')) for val in input()]
#this returns a list of "None" for each print statement
使用print的sep值指定的任意分隔符打印同样厚脸皮的单行内容:
print(*[str(val) + "= "+str(format(ord(val), 'b')) for val in input()], sep = ' ')
复制并粘贴到您最喜欢的口译员:)