如何在我的程序中有重音符号(例如,é,è,á)Python

2024-09-29 10:33:09 发布

您现在位置:Python中文网/ 问答频道 /正文

我没有那么多用python编程的经验,所以我的问题可能非常简单。我正在为学校做一个项目,在这个项目中,我们需要从用户输入中创建一个输出(我们想模仿Eliza,但以一种非常简单的方式)。现在,这个程序唯一要做的就是查找关键字并相应地做出响应。然而,由于我在一所法语学校,而且所有的东西都是法语的,所以我需要使用口音(例如:é,è,á)。问题就在这里出现了:我不能在预定义的关键字列表中使用重音符号(因此它不是来自用户输入的关键字,而是在我自己的程序中:/)

这里有整个程序:

#Greeting from bot
print("Salut!")

(这里是预定义的关键字,我们用它来知道用户的句子中是否有否定词以及是否有任何贬低人格的形容词-我们需要将其放大,以便使我们的机器人更人性化,但这只是原则)

^{pr2}$

但问题是:为了运行我们的程序,我们必须删除所有的重音符号。所以像gure,cré,mécanique,invente,programé这样的词就变成了guere,cree,mecanique,invente,programme,在某些情况下它改变了这个词的意思(例如programme变成了名词而不是形容词)

adj_neg_decl = None
nega = None

#FONCTION: phrase declarative, pas de negations, adjectif pejoratif
def decl_non_neg_adj_neg(statement):
    if (statement.endswith('.')) and (nega == False) and (adj_neg_decl == True):
        print(AnD_ici + '? Mais moi je suis humain. Ca se voit pas?')
    else:
    #Only for testing
        print('tralalalala')


while True:

    statement = raw_input("> ").lower()

    if statement == "au revoir":
        print("Au revoir!")
        break

(这里我们只需查找否定词和形容词-如果你有其他(更有效)的方法来做,我很乐意听听你的建议!我还不如学点新东西:)

    for i in negation:
        if i in statement:
            nega = True
            break
        else:
            nega = False

    for i in AnD:
        if i in statement:
            adj_neg_decl = True
            AnD_ici = i
            break
        else:
            adj_nej_decl = False

    decl_non_neg_adj_neg(statement)

#Reset variables
    for var in (adj_neg_decl, nega):
        var = None

我曾想过使用unicode或utf-8,但我真的不知道如何使用它。。。这样做对吗?或者我还能做点什么吗?在

非常感谢您的帮助:)


Tags: 用户in程序nonetrueforif关键字
1条回答
网友
1楼 · 发布于 2024-09-29 10:33:09

我使用的是python2,我认为列表可能是存储关键字的好方法。在

我可以直接输入口音。对于é,我按住Alt键,然后从数字键盘上按下这些数字:130。(如果要查找其他字符,请在您最喜欢的搜索引擎中搜索windows alt key symbols。)

使用in运算符来判断某个给定单词是否在列表中,这可能会很有帮助。在

这里有一个例子。在

>>> AnD = ['créé', 'mécanique', 'artificiel']
>>> 'jamais' in AnD
False
>>> 'créé' in AnD
True

博恩机会!在

相关问题 更多 >