辞書からキー (英語) をランダムに出力し、ユーザーが値 (ドイツ語) を入力する必要がある小さな Python ゲームを作成することを計画しています。値が正しければ、「正しい」と出力されて続行します。値が間違っている場合、「wrong」と出力されて壊れます。
これは簡単な作業だと思っていましたが、途中で行き詰まってしまいました。私の問題は、ドイツ語の文字を印刷する方法がわからないことです。次のテキストを含むファイル 'dictionary.txt' があるとします。
cat:Katze
dog:Hund
exercise:Übung
solve:lösen
door:Tür
cheese:Käse
そして、出力がどのように見えるかをテストするためだけに、このコードがあります:
# -*- coding: UTF-8 -*-
words = {} # empty dictionary
with open('dictionary.txt') as my_file:
for line in my_file.readlines():
if len(line.strip())>0: # ignoring blank lines
elem = line.split(':') # split on ":"
words[elem[0]] = elem[1].strip() # appending elements to dictionary
print words
明らかに、印刷の結果は期待どおりではありません。
{'cheese': 'K\xc3\xa4se', 'door': 'T\xc3\xbcr',
'dog': 'Hund', 'cat': 'Katze', 'solve': 'l\xc3\xb6sen',
'exercise': '\xc3\x9cbung'}
では、エンコーディングをどこに追加し、どのように行うのでしょうか?
ありがとうございました!