3

単語内のすべてのフランス語文字を同等の ASCII 文字に置き換えたいと考えています。

letters = [['é', 'à'], ['è', 'ù'], ['â', 'ê'], ['î', 'ô'], ['û', 'ç']]

for x in letters:
   for a in x:
        a = a.replace('é', 'e')
        a = a.replace('à', 'a')
        a = a.replace('è', 'e')
        a = a.replace('ù', 'u')
        a = a.replace('â', 'a')
        a = a.replace('ê', 'e')
        a = a.replace('î', 'i')
        a = a.replace('ô', 'o')
        a = a.replace('û', 'u')
        a = a.replace('ç', 'c')

print letters[0][0]

éただし、このコードは印刷されます。どうすればこれを機能させることができますか?

4

5 に答える 5

30

翻訳テーブルの使用を検討することをお勧めします。

translationTable = str.maketrans("éàèùâêîôûç", "eaeuaeiouc")

test = "Héllô Càèùverâêt Jîôûç"
test = test.translate(translationTable)
print(test)

印刷されますHello Caeuveraet Jiouc。私のフランス語を許してください。

于 2016-12-06T21:19:55.967 に答える
3

このreplace関数は、文字を置き換えた文字列を返します。

コードでは、この戻り値を保存しません。

ループ内の行はa = a.replace('é', 'e').

また、最終的に印刷できるように、その出力を保存する必要があります。

e:この投稿では、ループ内の変数にアクセスする方法について説明します

于 2016-12-06T21:11:03.173 に答える