Программа, выполняющая мой модуль python, всегда возвращает синтаксическую ошибку в первой строке после цикла while - PullRequest
0 голосов
/ 28 марта 2012

Я новичок в python с опытом работы с Java, которому приходится писать модуль на python для вызова Virtual robot для моего старшеклассного клуба MESA (Конкурс на основе технологий). Я пытался решить эту странную проблему в течение нескольких дней, и у меня осталось всего 6 часов, чтобы исправить все ошибки в моем коде! «Недопустимый синтаксис» всегда происходит в первой строке после цикла while, здесь есть соответствующая информация: Имейте в виду, что значения были правильно добавлены в списки

Соответствующий код:

interestlengthl=list()
interestlengthr=list()
interestpoint=list()

def do_examine(robot):
    examinecount=0;
    while (examinecount<(max(interestpoint)) <-the while loop
            i=2+2 <-a innocent line used as an example, this returned an invalid syntax
    maxpoint=max(interestpoint)
    tomove=(currentposition-(max[interestpoint]-interestpoint(examinecount)))
    robot.step_forward(tomove)
    leftscan=robot.sense_steps(robot.SENSOR_LEFT)
    rightscan=robot.sense_steps(robot.SENSOR_RIGHT)
    if (rightscan==interestlengthr(examinecount):
        robot.turn_right()
        do_rowscan(robot)
    if (leftscan==interestlengthl(examinecount):
        robot.turn_left()
        do_rowscan(robot)
    examinecount+=1
    robot.turn_right(2)
    currentposition=robot.sense_steps(robot.SENSOR_FORWARD)
    robot.turn_right(2)

Соответствующая ошибка:

File "L:\controllers\controller_zigzag.py", line 35
i=2+2
^
SyntaxError: invalid syntax

Ответы [ 2 ]

3 голосов
/ 28 марта 2012

В то время как у циклов должно быть двоеточие, например:

while examinecount < max (interestpoint):

, так же как ваши операторы if ниже.И, кроме того, это не C - вам не нужны круглые скобки вокруг всего условного выражения.

1 голос
/ 28 марта 2012

Синтаксическая ошибка в том, что вы должны поставить двоеточие после цикла, И у вас есть несбалансированные скобки: while (examinecount<(max(interestpoint)) -> while (examinecount<(max(interestpoint))):

...