Я пытаюсь преобразовать строку в массив символов, затем перебрать каждый символ в массиве и сравнить с ключами словаря, а затем, если они совпадают, напечатать значение ключа и перейти к следующему символу в массиве.
Я собрал несколько примеров и попытался обработать их в уме. Я новичок в python и вернулся к программированию в качестве хобби после долгого времени, чтобы попытаться научить своего 10-летнего сына. Он говорил о двоичном коде, и я сказал, что мы могли бы написать программу на питоне, которая могла бы, например, принимать его имя в качестве входных данных и печатать его имя в двоичном коде.
#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 # рядом с репрезентативным двоичным значением, например
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']
>>>
*Почему ключи не выходят в том же порядке?
dict
раньше не гарантировал порядок ключей при итерации. не уверен в поведении сейчас. stackoverflow.com/questions/5629023/ - person MFisherKDX   schedule 23.03.2019printBinary
какprintBinary(binaryTable, newArray)
вместоprintBinary(newArray, binaryTable)
? - person MFisherKDX   schedule 23.03.2019