синтаксическая ошибка при попытке создать новый список - PullRequest
0 голосов
/ 05 марта 2012

Просто пытаюсь написать функцию, которая получает углы стрелок часов, но выдает ошибку, когда я пытаюсь создать пустой список. Ранее он работал над другими сценариями без каких-либо проблем.

def gethandpos():
    now=datetime.datetime.now()
    datetime.time(now.hour,now.minute,now.second)
    m=float(now.minute+now.second/60)
    h=float(now.hour+(m/60))
    hangle=math.fabs(((h*360)/12)-90)
    mangle=math.fabs(((m*360)/60)-90)
    sangle=(math.fabs((float((now.second*360)/60))-90)
    coords=[]
    coords.append((math.cos(math.radians(sangle)),math.sin(math.radians(sangle))))
    coords.append((math.cos(math.radians(mangle)),math.sin(math.radians(mangle))))
    coords.append((math.cos(math.radians(hangle)),math.sin(math.radians(hangle))))
    print coords

вывод:

coords=[]
     ^
syntax error: invalid syntax

что я делаю не так?

Ответы [ 2 ]

3 голосов
/ 05 марта 2012
sangle=(math.fabs((float((now.second*360)/60))-90)
       1         23     45              1   23   4
1 голос
/ 05 марта 2012

Строка

sangle=(math.fabs((float((now.second*360)/60))-90)

имеет дополнительную открывающую скобку в начале.Вместо этого попробуйте

sangle = math.fabs(float(now.second * 360 / 60) - 90)

.

Python игнорирует переносы строк в скобках.Вот почему следующая строка была интерпретирована как часть присвоения sangle, что привело к синтаксической ошибке.

Я рекомендую форматировать код более читабельно: используйте пробелы вокруг операторов, не используйтеслишком много скобок, где они не нужны, разбить сложное выражение на несколько шагов и т. д.

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