Python 尝试使用re将3个结果打印到表中

Python 尝试使用re将3个结果打印到表中,python,regex,math,nltk,Python,Regex,Math,Nltk,我已经有了一个有效的代码,直到我添加了熵部分。现在它在打印行上给了我一个无效的语法错误。为什么 import nltk, math, re, numpy from nltk import word_tokenize from nltk.tokenize import RegexpTokenizer def entropy(labels): freqdist = nltk.FreqDist(labels) probs = [freqdist.freq(1) for l in fr

我已经有了一个有效的代码,直到我添加了熵部分。现在它在打印行上给了我一个无效的语法错误。为什么

import nltk, math, re, numpy
from nltk import word_tokenize
from nltk.tokenize import RegexpTokenizer

def entropy(labels):
    freqdist = nltk.FreqDist(labels)
    probs = [freqdist.freq(1) for l in freqdist]
    return -sum(p * math.log(p,2) for p in probs)

def sents():
    fileObj = open('1865-Lincoln.txt', 'r')
    text = fileObj.read()
    tokens = nltk.sent_tokenize(text)
    for name in tokens:
        words = ' '.join(name.split()[:4])
        count = len(name.split())
        entro = entropy(len(name.split())
        print('{:<35} {:^15} {:>15}'.format(words, count, entro))
导入nltk、数学、re、numpy
从nltk导入单词\u标记化
从nltk.tokenize导入RegexpTokenizer
def熵(标签):
freqdist=nltk.freqdist(标签)
probs=[freqdist.freq(1)表示freqdist中的l]
返回和(p*math.log(p,2)表示probs中的p)
def sents():
fileObj=open('1865-Lincoln.txt','r')
text=fileObj.read()
令牌=nltk.sent\u令牌化(文本)
对于令牌中的名称:
words=''.join(name.split()[:4])
count=len(name.split())
entro=熵(len(name.split())
打印({:15})。格式(字、计数、entro))

上一行缺少右括号:

entro = entropy(len(name.split()))

上一行中缺少一个右括号:

entro = entropy(len(name.split()))

天哪,我现在几乎想删除这个。我不敢相信我没有看到。谢谢你的眼睛。我真的继续编辑了它,因为在运行它的时候出现了其他东西,但这更像是一个数学问题。天哪,我现在几乎想删除这个。我不敢相信我没有看到。谢谢你的眼睛。我真的继续编辑了编辑它,因为运行它时出现了其他问题,但这更像是一个数学问题。