2016-11-18 32 views
-3

我这里有的Python如果Statment

ress = [] 

    number_tag = number_of_starttags + number_of_endtags 
    CTTD = words_count + (0.5 * link_words) + number_tag - number_tag_break 
    if words_count + link_number == 0: 
     CTTD == 0 
    else: 
     CTTD 
    res = [words_count, link_words, number_tag, number_tag_break, CTTD] 
    ress.append(res) 

一些问题,但无法按预期产生的输出。 我想当word_count + link_words总额为0,那么CTTD将立即为0

我现在得到的是CTTD仍按照最初的配方进行计算,并不在乎是否WORD_COUNT + link_word = 0

那么如何获得正确的输出?

+1

'else:CTTD'部分是做什么的? –

+0

我猜CTTD True/1 –

+0

又是什么'CTTD == 0'的意思呢? –

回答

2

需要分配,这是=

ress = [] 

number_tag = number_of_starttags + number_of_endtags 
CTTD = words_count + (0.5 * link_words) + number_tag - number_tag_break 
if words_count + link_number == 0: 
    CTTD = 0 # <---------------- HERE IS YOUR PROBLEM 
else: 
    CTTD 
res = [words_count, link_words, number_tag, number_tag_break, CTTD] 
ress.append(res) 
+0

其他CTTD之后也是错误的。你在做什么? CTTD是变量的名称。你没有给它赋值或者在声明中使用它,那么你认为是怎么回事? –

+1

我指出他的错误。他想知道为什么没有被分配。我不相信解决他所有的每一个错误,因为那时我们会和人们排除故障,为什么我没有解决他所有的错误。他想知道为什么CTTD不会变成'0',我向他展示了为什么。 – bravosierra99

3
if words_count + link_number == 0: 
    CTTD == 0 
else: 
    CTTD 

无论这些条款做任何事情。

CTTD == 0是一个比较表达式,其计算结果为TrueFalse,然后丢弃该值。

CTTD是一个表达式,其计算值为CTTD,然后丢弃该值。

在Python中,=用于赋值。

+0

如果数字words_count + link_words为0,那么我想让它成为一个要求,那么CTTD也将值为0.如果不是0,那么CTTD将计算出合适的公式被写入。所以我必须做什么? –

+1

对这个问题你已经有了两个很好的答案。您必须使用赋值('=')将值分配给变量。你不能使用比较('==')来给变量赋值。 –