while块中的Python语法错误

时间:2012-01-29 15:22:09

标签: python syntax while-loop

我在以下代码中遇到语法错误:

if value[0] == "ta" or "su":
        num_var = len(value)
        i = 0
        while value[i][0] != "-" and i <= num_var:
            if i == 0 and value[0][0].isdigit(): 
                f3["var_%s" %i] = VARFD[[value[0].split("/")[1]]
            else: 
                f3["var_%s" %i] = VARFD[[value[0]]
            f4["val_%s" %i] = "T"
            i += 1

它声称语法错误在线,以“else:”开头。怎么了?

3 个答案:

答案 0 :(得分:2)

你错过了

中的方括号
        if i == 0 and value[0][0].isdigit(): f3["var_%s" %i] = VARFD[[value[0].split("/")[1]]

线。但Python代码实际上并不意味着这种密集编写。空间和光明!

答案 1 :(得分:2)

您的新线路供应是否有限,或者您为什么要编写这样的代码?

您的错误在这里,缺少一个]

VARFD[[value[0].split("/")[1]]

答案 2 :(得分:2)

就像你在其他地方之前缺少一个末端括号一样简单。

VARFD[[value[0].split("/")[1]]

我怀疑表达式应该是

VARFD[value[0].split("/")[1]]

当出现这样的错误时,您已经明确表示应该拆分并简化代码:)