如何使用列表和字典将字符串转换为二进制代码
How to convert a string to binary code using list and dictionary
我正在尝试将字符串转换为字符数组,然后遍历数组中的每个字符并与字典键进行比较,然后如果它们匹配则打印键值并移至数组中的下一个字符
我已经收集了一些示例并试图在脑海中计算出来。我是 python 的新手,经过很长一段时间尝试教我 10 岁的儿子后,我又把编程作为一种爱好。他在谈论二进制,我说我们可以在 python 中编写一个程序,例如可以将他的名字作为输入并以二进制代码打印他的名字。
#binary table is formatted such i have shortened it for simplicity
binaryTable = {
"a" : "01100001",
"b" : "01100010",
"c" : "01100011",
"d" : "01100100"
}
word = input('please input a value to see its representation in Binary Code: ')
def split(letters):
return [char for char in letters]
def members(dictArg, keysListArg):
count = 0
for x in newArray:
if newArray[x] == binaryTable.keys():
value = binaryTable.keys()
print(newArray[x])
print(' : ')
print(value)
count += 1
return count
def printBinary(dictArg, keysListArg):
count = 0
for list_item in keysListArg:
if list_item in dictArg:
count+= 1
print(count)
print(list_item)
print(' : ')
#print(keysListArg)
#print(dictArg) #print dictArg.Key() How to do this
print('\n')
return count
print('testing printBinary function\n')
newArray = split(word)
#members(newArray, binaryTable)
printBinary(newArray. binaryTable)
如果我说 abcd 我希望输出是
一个新字典,其中包含带有二进制键代表的字符,或者只是在 for 循环迭代中打印字母键 #next 到代表二进制值,例如
j : 0110101
a : 0101010
m : 0101010
e : 0101010
s : 0101010
output:
1
a
:
2
e
:
3
j
:
4
m
:
5
s
:
['j', 'a', 'm', 'e', 's']
>>>
*为什么按键的顺序不一样?
#program to take a string and show the binary representation of all the letters
binaryTable = {
"a" : "01100001",
"b" : "01100010",
"c" : "01100011",
"d" : "01100100",
"e" : "01100101",
"f" : "01100110",
"g" : "01100111",
"h" : "01101000",
"i" : "01101001",
"j" : "01101010",
"k" : "01101011",
"l" : "01101100",
"m" : "01101101",
"n" : "01101110",
"o" : "01101111",
"p" : "01110000",
"q" : "01110001",
"r" : "01110010",
"s" : "01110011",
"t" : "01110100",
"u" : "01110101",
"v" : "01110110",
"w" : "01110111",
"x" : "01111000",
"y" : "01111001",
"z" : "01111010",
"A" : "01000001",
"B" : "01000010",
"C" : "01000011",
"D" : "01000100",
"E" : "01000101",
"F" : "01000110",
"G" : "01000111",
"H" : "01001000",
"I" : "01001001",
"J" : "01001010",
"K" : "01001011",
"L" : "01001100",
"M" : "01001101",
"N" : "01001110",
"O" : "01001111",
"P" : "01010000",
"Q" : "01001111",
"R" : "01010010",
"S" : "01010011",
"T" : "01010100",
"U" : "01010101",
"V" : "01010110",
"W" : "01010111",
"X" : "01011000",
"Y" : "01011001",
"Z" : "01011010"
}
print('Hello there! I am a binary translator. Add some text to see it in binary!')
print('Below is a binary table for all characters of the Alphabet. Remember, upper and lower case characters have different binary values!')
print(
'''
Letter Binary Letter Binary
a 01100001 A 01000001
b 01100010 B 01000010
c 01100011 C 01000011
d 01100100 D 01000100
e 01100101 E 01000101
f 01100110 F 01000110
g 01100111 G 01000111
h 01101000 H 01001000
i 01101001 I 01001001
j 01101010 J 01001010
k 01101011 K 01001011
l 01101100 L 01001100
m 01101101 M 01001101
n 01101110 N 01001110
o 01101111 O 01001111
p 01110000 P 01010000
q 01110001 Q 01010001
r 01110010 R 01010010
s 01110011 S 01010011
t 01110100 T 01010100
u 01110101 U 01010101
v 01110110 V 01010110
w 01110111 W 01010111
x 01111000 X 01011000
y 01111001 Y 01011001
z 01111010 Z 01011010''')
word = input('please input a value to see its representation in Binary Code: ')
#splits the word into single letters and stores in a list aka newArray
def split(letters):
return [char for char in letters]
#takes the parameters of newArray and binaryTable.
#new array is the input word split into letters
def printBinary(dictArg, keysListArg):
for list_item in dictArg:
if list_item in keysListArg:
#grabs the binary value linked to its key and stores in x
x = keysListArg.get(list_item)
#prints list item along side its binary key
print(list_item + ' : ' + x)
#splits the word
newArray = split(word)
#prints each letter next to its binary code representation
printBinary(newArray, binaryTable)
示例输出:
please input a value to see its representation in Binary Code: louis
l : 01101100
o : 01101111
u : 01110101
i : 01101001
s : 01110011
>>>
我正在尝试将字符串转换为字符数组,然后遍历数组中的每个字符并与字典键进行比较,然后如果它们匹配则打印键值并移至数组中的下一个字符
我已经收集了一些示例并试图在脑海中计算出来。我是 python 的新手,经过很长一段时间尝试教我 10 岁的儿子后,我又把编程作为一种爱好。他在谈论二进制,我说我们可以在 python 中编写一个程序,例如可以将他的名字作为输入并以二进制代码打印他的名字。
#binary table is formatted such i have shortened it for simplicity
binaryTable = {
"a" : "01100001",
"b" : "01100010",
"c" : "01100011",
"d" : "01100100"
}
word = input('please input a value to see its representation in Binary Code: ')
def split(letters):
return [char for char in letters]
def members(dictArg, keysListArg):
count = 0
for x in newArray:
if newArray[x] == binaryTable.keys():
value = binaryTable.keys()
print(newArray[x])
print(' : ')
print(value)
count += 1
return count
def printBinary(dictArg, keysListArg):
count = 0
for list_item in keysListArg:
if list_item in dictArg:
count+= 1
print(count)
print(list_item)
print(' : ')
#print(keysListArg)
#print(dictArg) #print dictArg.Key() How to do this
print('\n')
return count
print('testing printBinary function\n')
newArray = split(word)
#members(newArray, binaryTable)
printBinary(newArray. binaryTable)
如果我说 abcd 我希望输出是 一个新字典,其中包含带有二进制键代表的字符,或者只是在 for 循环迭代中打印字母键 #next 到代表二进制值,例如
j : 0110101
a : 0101010
m : 0101010
e : 0101010
s : 0101010
output:
1
a
:
2
e
:
3
j
:
4
m
:
5
s
:
['j', 'a', 'm', 'e', 's']
>>>
*为什么按键的顺序不一样?
#program to take a string and show the binary representation of all the letters
binaryTable = {
"a" : "01100001",
"b" : "01100010",
"c" : "01100011",
"d" : "01100100",
"e" : "01100101",
"f" : "01100110",
"g" : "01100111",
"h" : "01101000",
"i" : "01101001",
"j" : "01101010",
"k" : "01101011",
"l" : "01101100",
"m" : "01101101",
"n" : "01101110",
"o" : "01101111",
"p" : "01110000",
"q" : "01110001",
"r" : "01110010",
"s" : "01110011",
"t" : "01110100",
"u" : "01110101",
"v" : "01110110",
"w" : "01110111",
"x" : "01111000",
"y" : "01111001",
"z" : "01111010",
"A" : "01000001",
"B" : "01000010",
"C" : "01000011",
"D" : "01000100",
"E" : "01000101",
"F" : "01000110",
"G" : "01000111",
"H" : "01001000",
"I" : "01001001",
"J" : "01001010",
"K" : "01001011",
"L" : "01001100",
"M" : "01001101",
"N" : "01001110",
"O" : "01001111",
"P" : "01010000",
"Q" : "01001111",
"R" : "01010010",
"S" : "01010011",
"T" : "01010100",
"U" : "01010101",
"V" : "01010110",
"W" : "01010111",
"X" : "01011000",
"Y" : "01011001",
"Z" : "01011010"
}
print('Hello there! I am a binary translator. Add some text to see it in binary!')
print('Below is a binary table for all characters of the Alphabet. Remember, upper and lower case characters have different binary values!')
print(
'''
Letter Binary Letter Binary
a 01100001 A 01000001
b 01100010 B 01000010
c 01100011 C 01000011
d 01100100 D 01000100
e 01100101 E 01000101
f 01100110 F 01000110
g 01100111 G 01000111
h 01101000 H 01001000
i 01101001 I 01001001
j 01101010 J 01001010
k 01101011 K 01001011
l 01101100 L 01001100
m 01101101 M 01001101
n 01101110 N 01001110
o 01101111 O 01001111
p 01110000 P 01010000
q 01110001 Q 01010001
r 01110010 R 01010010
s 01110011 S 01010011
t 01110100 T 01010100
u 01110101 U 01010101
v 01110110 V 01010110
w 01110111 W 01010111
x 01111000 X 01011000
y 01111001 Y 01011001
z 01111010 Z 01011010''')
word = input('please input a value to see its representation in Binary Code: ')
#splits the word into single letters and stores in a list aka newArray
def split(letters):
return [char for char in letters]
#takes the parameters of newArray and binaryTable.
#new array is the input word split into letters
def printBinary(dictArg, keysListArg):
for list_item in dictArg:
if list_item in keysListArg:
#grabs the binary value linked to its key and stores in x
x = keysListArg.get(list_item)
#prints list item along side its binary key
print(list_item + ' : ' + x)
#splits the word
newArray = split(word)
#prints each letter next to its binary code representation
printBinary(newArray, binaryTable)
示例输出:
please input a value to see its representation in Binary Code: louis
l : 01101100
o : 01101111
u : 01110101
i : 01101001
s : 01110011
>>>