因爲我是法國人,我正在嘗試製作一個小功能,可以在國名前添加好的定冠詞。除了少數以變音符開頭的國家外,我沒有任何問題。這裏是我的代碼:如果列表中的字符串失敗,請使用變音符號
#!/usr/bin/env python
# -*- coding: utf-8 -*-
def article(nomPays):
voyelles = ['A','E','É','I','O','U','Y']
if nomPays == 'Mexique':
return 'du'
elif nomPays[0] in voyelles:
return 'de l\''
elif nomPays[-1] == 'e':#signe négatif pour compter à partir de la dernière lettre
return 'de la'
else:
return 'du'
print article('Érythrée')
如果我進入ALLEMAGNE而不是Érythrée,該行爲是正確的:它返回「德升」。但埃裏特里返回'德拉'。這意味着我的功能不能識別字符É作爲voyelles列表的一部分。
任何人都可以解釋我爲什麼以及如何解決這個問題嗎?
強制閱讀:[Python的Unicode HOWTO](http://docs.python.org/howto/unicode.html)。 – 2012-08-02 10:10:46
當然還有[Joel Spolsky在Unicode上的經典](http://www.joelonsoftware.com/articles/Unicode.html)。 – 2012-08-02 10:12:47