Синтаксическая ошибка Python в блоке while - PullRequest
0 голосов
/ 29 января 2012

Я получаю синтаксическую ошибку в следующем коде:

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 ]

2 голосов
/ 29 января 2012

Ограничено ли количество новых строк или почему вы пишете такой код?

Ваша ошибка здесь, отсутствует одна ]:

VARFD[[value[0].split("/")[1]]
2 голосов
/ 29 января 2012

Это так же просто, как если бы вы пропустили конечную скобку в строке перед остальным.

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

Я подозреваю, что выражение должно быть

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

Это почти навернякапризнак того, что вы должны разбиться на части и упростить код, когда появляются подобные ошибки:)

2 голосов
/ 29 января 2012

Вам не хватает квадратной скобки в

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

линия. Но код Python на самом деле не предназначен, чтобы быть таким плотно написанным. Пространство и свет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...