双线功能不工作

我正在试着通过单词列表中的单词,并去掉所有的'.'。我做了这个函数…

选择 | 换行 | 行号
  1. def clearup(tor): 
  2.  
  3.    tor = tor.replace('.', '')
选择 | 换行 | 行号
  1. words = fcheck.read().split()
  2.  
  3.  for word in words:
  4.       clearup(word)
  5.       if word in dictionary: # dictionary is a tuple of words
  6.          pass
  7.       else:
  8.          print word

为什么这个不起作用?它打印单词,但句号没有被替换。

# 回答1


发生的情况是,您得到了一个函数,该函数修改一个字符串的副本,然后不对其执行任何操作。
这是一种替代它的方法。

选择 | 换行 | 行号
  1. def clearup(tor): 
  2.    return tor.replace('.', '')
  3.  
  4. words = fcheck.read().split()
  5.  
  6.  for word in words:
  7.       word = clearup(word)
  8.       if word in dictionary: # dictionary is a tuple of words
  9.          pass
  10.       else:
  11.          print word

但简单地说是不是更简单:

选择 | 换行 | 行号
  1. word.replace('.', '')
  2.  
# 回答2


谢谢,在你的帮助和我做的一些其他事情的帮助下,我把它修好了,但我没有用你的第二个例子的原因是因为我要重复使用这个函数,因为它不仅替换了英语中的',',还替换了英语中的每个标点符号。
问题解决了。

标签: python

添加新评论