我是python的新手,我正在尝试创建一个能够检测字符串是否包含单词“I”,“我是”,“我的”,“是”,“我们的”的函数,“我”将其替换为“你”,“你是”,“你的”,“我们”,“你的”和“你”,如果它没有以任何标点符号结尾,也会在末尾添加一个问号。到目前为止,我有代码
if ' ' in statement and statement[-1].isalpha() is True:
response = statement
response = response + "?"
return response
但是我不确定如何使这些单词的函数seach并替换为他们的对立面。例如,如果声明是“我的狗说我很高兴”它的回答应该是“你的狗说你很高兴吗?”
感谢
答案 0 :(得分:6)
创建一个字典映射并迭代它,就像这样
d = {"I": "You", "I'm": "You're".....}
for k,v in d.iteritems():
statement = statement.replace(k, v)
答案 1 :(得分:1)
查看python的replace
函数,该函数替换为字符串......
e.g。
x = "My dog said I'm happy"
x.replace("My", "Your") # "Your dog said I'm happy"
您可以列出old
作为要替换的单词列表,列出new
作为要替换的内容,然后依次替换。
请注意,您应该在较短的单词之前替换较长的单词。
例如,如果你在上面用“你”替换“我”,你会得到“你的狗说你很开心”。因此,您应该在“我”之前替换“我是”。
答案 2 :(得分:1)
之前已经问过many,many次。您需要使用Python Standard Library中replace
方法的某些变体。