擅长:python、mysql、java
<pre><code>curse=["apple","ball","car"]
fil = ["!","@","#","$","%","^","&","*","(",")"]
word = raw_input(">>")
words = word.split();
for w in words:
p = w.lower()
if p in curse:
filword=""
worlen = len(w);
for i in range(worlen):
filword += fil[j]
j = (j + 1)%len(fil)
word = word.replace(w,filword);
print word
</code></pre>
<p>我先把这行分成一个叫做单词的列表。现在,每一个单词中的w,我都检查了它是否在诅咒列表中,如果是的话,我就把这个单词的长度做了一个单词。j=(j+1)%len(fil)是因为worlen可以大于len(fil),在这种情况下,必须重用字符。
最后替换了这个词。你知道吗</p>
<p>PS:这个代码在car,apple这样的情况下会失败,因为它是在“”的基础上分裂的。在这种情况下,您可以删除除“”以外的所有特殊字符,并将其存储为另一个字符串作为预处理并处理该字符串。你知道吗</p>