2016-11-10 16 views
2

私はこの問題をしばらく解決しようとしています。簡単な答えを探したが役に立たなかった。どんな助けでも大歓迎です。私はPython辞書を作成して、バイナリデータとしてのみ値の出力をフォーマットしようとしています。言い換えれば、辞書の各文字列値に対して、そのバイナリ値を出力したいとします。私のコードと私が得るエラーは以下の通りです。出力Python辞書 'Values'バイナリ形式

pigpen = {} 
pigpen['a'] = 'ETL' 
pigpen['b'] = 'ETM' 
pigpen['c'] = 'ETR' 
pigpen['d'] = 'EML' 
pigpen['e'] = 'EMM' 
pigpen['f'] = 'EMR' 
pigpen['g'] = 'EBL' 
pigpen['h'] = 'EBM' 
pigpen['i'] = 'EBR' 
pigpen['j'] = 'DTL' 
pigpen['k'] = 'DTM' 
pigpen['l'] = 'DTR' 
pigpen['m'] = 'DML' 
pigpen['n'] = 'DMM' 
pigpen['o'] = 'DMR' 
pigpen['p'] = 'DBL' 
pigpen['q'] = 'DBM' 
pigpen['r'] = 'DBR' 
pigpen['s'] = 'EXT' 
pigpen['t'] = 'EXL' 
pigpen['u'] = 'EXR' 
pigpen['v'] = 'EXB' 
pigpen['w'] = 'DXT' 
pigpen['x'] = 'DXL' 
pigpen['y'] = 'DXR' 
pigpen['z'] = 'DXB' 

import binascii 
str = pigpen.values() 
print ' '.join(format(ord(string), 'b') for string in str) 

Traceback (most recent call last): 
    File "pigpen_build.py", line 62, in <module> 
    print ' '.join(format(ord(string), 'b') for string in str) 
    File "pigpen_build.py", line 62, in <genexpr> 
    print ' '.join(format(ord(string), 'b') for string in str) 
TypeError: ord() expected a character, but string of length 3 found 
>>> 
+0

バイナリ値はどういう意味ですか?あなたは出力例を提供することはできますか? – amirouche

+0

バイナリ値は、文字のASCII値です。 pythonの 'ord'と' chr'関数を見てください。 –

+0

助けを借りてくれてありがとう。 – Dac121

答えて

0

ordには、文字列の3文字に基づいて値を検索するよう求められます。 the ord function here.の詳細forループでは、あなたのコードが展開されるようにリストを操作しています。

for s in ['ABC','CDE','FGH']: 
    print s+', ', 

出力はABC, CDE, FGHです。これを修正するには、別のforループを実際の文字列に配置するか、元のリストを1つの文字列に結合します。

1)もう1つのforループ。

print ' '.join(format(ord(string), 'b') for string in (''.join(s for s in str))) 

2)実際の文字列。

str = ''.join(s for s in str) 
print ' '.join(format(ord(stirng), 'b') for string in str) 
+0

助けを借りてくれてありがとう。 – Dac121

0

@Prestonはより良い答えで私を打ち負かしましたが、ここではネストされたリストの理解を使用しないソリューションです。

binary_translation = [] 
for string in a: 
    for char in string: 
     binary_translation.append(''.join(format(ord(char), 'b'))) 
+0

助けを借りてくれてありがとう。 – Dac121

関連する問題