punctuation_chars = ["'", '"', ",", ".", "!", ":", ";", '#', '@']
def strip_punctuation(word):
for i in punctuation_chars:
if i in word:
word = word.replace(i, '')
return word
print(strip_punctuation('GH.GH,GHGH:GHGH;GHGHG@'))
您在检查了第一项后返回了word
,这意味着仅会删除第一个标点符号'
。替换为该函数。
def strip_punctuation(word):
for i in punctuation_chars:
if i in word:
word = word.replace(i, '')
return word
这是因为返回值在其中一个循环中,因此,仅在打印返回值之前完成第一次迭代。您需要将返回值放在函数的基础上-循环之外。
def strip_punctuation(word):
for i in punctuation_chars:
if i in word:
word = word.replace(i, '')
return word
当您调用return时,该功能退出。因此,当我第一次使用单词i并替换它时,您将返回单词并退出函数。如果您要完成循环然后返回单词,那么它应该起作用。
即
def strip_punctuation(word):
for i in punctuation_chars:
if i in word:
word = word.replace(i, '')
return word