0

我是 python 新手,我正在尝试制作一个能够检测字符串是否包含“I”、“I'm”、“My”、“Was”、“Our”、“me”的函数" 将其替换为“You”、“You're”、“Your”、“Were”、“Your”和“You”,如果它没有以任何标点符号结尾,则在末尾添加一个问号。到目前为止我有代码

if ' ' in statement and statement[-1].isalpha() is True:
       response = statement
       response = response + "?"

       return response

但我不确定如何使函数搜索这些词并用它们的反义词替换。例如,如果陈述是“我的狗说我很高兴”,它的反应应该是“你的狗说你很高兴?”

谢谢

4

3 回答 3

7

创建一个字典映射并对其进行迭代,就像这样

d = {"I": "You", "I'm": "You're".....}
for k,v in d.iteritems():
    statement = statement.replace(k, v)
于 2013-04-15T02:23:06.097 回答
1

这已经被问过很多很多次了。您需要使用replacePython标准库中的方法的一些变体。

于 2013-04-15T02:28:56.147 回答
1

查看python的replace函数,它在字符串中替换......

例如

x = "My dog said I'm happy"
x.replace("My", "Your") # "Your dog said I'm happy"

您可以列出old要替换的单词列表和要替换的列表new,然后依次替换。

请注意,您应该在较短的单词之前替换较长的单词。

例如,如果您将上面的“I”替换为“You”,您将得到“Your dog said You'm happy”。因此,您应该在“I”之前替换“I'm ”。

于 2013-04-15T02:23:36.510 回答