是什么导致此return()创建SyntaxError?

时间:2019-04-17 14:17:29

标签: python python-3.x list return ascii-art

我需要该程序将工作表创建为''字符的字符串列表,并将文本字符串(从列表中)分配到其中。我已经在python 3中编写了return语句,但是这个一直在给

(queryset
    .values('owner', owner_name=F('owner__name'))
    .annotate(multi=Case(
        When(owner__in=Subquery(TrendData.objects
                                    .values('owner')
                                    .annotate(cnt=Count('owner'))
                                    .filter(cnt__gt=0)
                                    .values('owner')), 
             then=1),
        default=0,
        output_field=IntegerField())
    ) 
    .annotate(views = Case(
        When(multi=1,
             then=Sum(F('views') / date_delta)),
        default=Sum('views'),
        output_field=IntegerField())
    )
)

这是第39行上的return(riplns)。我希望该函数在围绕另一个randint构建的范围内创建一些随机数(randint),该范围来自调用此函数的ripimg()。

我清楚地看到了程序在哪里声明了我想要这个return()给我的列表。我知道它的类型。我看到通过.append()将变量(int类型)输入到哪里。我从互联网研究中得知,python的return()函数上的SyntaxErrors通常来自错误类型,但事实并非如此。

multi

我省略了程序的其余部分,我相信这些功能足以理解这个想法,请告诉我是否需要添加更多内容。

1 个答案:

答案 0 :(得分:0)

您上一行的括号不完整。

在这一行:-

riplns.append(randint((rando)-1,(rando)+1)

您必须在末尾再添加一个括号。这是造成错误的原因,因为python不断读取内容,并认为return语句是先前未完成的行的一部分。