python - 如何在 Python 中指定带重音的字母与不带重音的字母意思相同?

我试图做到这一点,例如 ķ==k ,但我无法找到一种方法将“ķ”替换为“k”。本质上我希望他们的意思是一样的。我正在制作一个刽子手游戏,因为它是拉脱维亚语,所以我被赋予了一项任务,让用户猜测的字母/input 的意思与没有重音的字母相同。

minejums = input("Ievadi minējamo burtu: ")

latviesuburti = {"ā": "a", "č": "c", "ē": "e", "ģ": "g", "ī": "i", "ķ": "k" , "ļ": "l", "ņ": "n", "š": "s", "ū": "u", "ž": "z"}

到目前为止,我的想法是使用 dictionary。我将使用 for loop,但我不知道要使用什么功能。请帮忙。

回答1

由于您不想实际更改拼图中的字母,因此我会定义一个函数,该函数使用 dict 将 map 每个字母放到裸拉丁语等价物上,并且总是通过先将两个字母传递给函数来比较字母.

latviesuburti = {"ā": "a", "č": "c", "ē": "e", "ģ": "g", "ī": "i", 
                 "ķ": "k", "ļ": "l", "ņ": "n", "š": "s", "ū": "u", 
                 "ž": "z"}

def canonicalize(letter):         
    return latviesuburti.get(letter, letter)

...
for letter in puzzle:
    if canonicalize(guess) == canonicalize(letter):
        ... handle a correct guess ...

相似文章

随机推荐

最新文章