这是我的代码,我正在尝试针对包含否定词词表的 Json 档案扫描用户的输入,以便获得用户输入中否定词的总和。
注意:我在串列中获取用户输入。
当前输出: 未打印与以下代码相关的输出。
def SumOfNegWords(wordsInTweet):
f = open ('wordList.json')
wordList = json.load(f)
NegAmount = 0
for words in wordsInTweet: #for words in the input
if wordsInTweet in wordList['negative']:
NegAmount = 1
print("The Sum of Negative Words =", NegAmount)
else: print("No negative words found")
uj5u.com热心网友回复:
我认为线
if wordsInTweet in wordList['negative']:
不是你想要的。我认为您想分别检查 for 回圈中的每个单词。所以写
if words in wordList['negative']:
将来,请说明当前代码做什么以及您希望它做什么。
uj5u.com热心网友回复:
def SumOfNegWords(wordsInTweet):
f = open ('wordList.json')
wordList = json.load(f)
NegAmount = 0
for words in wordsInTweet: #for words in the input
if words in wordList['negative']:
NegAmount = 1
print("The Sum of Negative Words =", NegAmount)
else:
print("No negative words found")
words
在 if 条件中稍作更改,因为那是您要迭代的内容并在 else 中缩进
uj5u.com热心网友回复:
在您的评论中,您提到您没有看到任一打印陈述句的输出。这让我认为您对函式“wordsInTweet”的输入可能是空的。我建议检查您在推文中的单词串列是否为非空。
# Checks that the list is empty or None
if not wordsInTweet:
print("Word list was empty")
如果您不熟悉 Python,我建议您将来考虑使用除错器。许多 IDE 将内置除错器,但您也可以使用诸如PDB 之类的工具。除错器允许您单步除错代码并检查变量的内容。
另外,我建议您在阅读完档案后关闭您的档案。有关更多信息,请参阅档案:读取和写入档案
with open('wordList.json') as f:
wordList = json.load(f)
# Use wordList below
0 评论