Python - Процесс завершен с кодом выхода 134 (прерван сигналом 6: SIGABRT) - модуль черепахи - PullRequest
0 голосов
/ 26 мая 2020

У меня проблема с моим кодом; Я использую модуль черепахи внутри этой функции в PyCharm:

def squares_around_taxi(longitude, latitude, azimuth_taxi, size=square_size):

    crocodile = turtle.Turtle()
    crocodile.home()

    long = longitude
    lat = latitude

    crocodile.forward(long)
    crocodile.degrees(360)
    crocodile.left(90)
    crocodile.forward(lat)

    alpha = azimuth_taxi
    x = []
    y = []
    size_square = size

    crocodile.left(alpha)
    crocodile.forward(size_square / 2)
    position = crocodile.position()
    x.append(position[0])
    y.append(position[1])
    crocodile.left(90)
    crocodile.forward(size_square)
    position = crocodile.position()
    x.append(position[0])
    y.append(position[1])
    crocodile.left(90)
    crocodile.forward(size_square)
    position = crocodile.position()
    x.append(position[0])
    y.append(position[1])
    crocodile.left(90)
    crocodile.forward(size_square)
    position = crocodile.position()
    x.append(position[0])
    y.append(position[1])
    crocodile.forward(size_square)
    position = crocodile.position()
    x.append(position[0])
    y.append(position[1])
    crocodile.left(90)
    crocodile.forward(size_square)
    position = crocodile.position()
    x.append(position[0])
    y.append(position[1])

    coordinates = []
    for i in range(len(x)):
        coordinates.append((x[i],y[i]))

    left_square = Polygon([coordinates[0], coordinates[1], coordinates[2], coordinates[3]])
    right_square = Polygon([coordinates[0], coordinates[3], coordinates[4], coordinates[5]])

    return left_square, right_square

Он возвращает это сообщение об ошибке, которое я не понимаю: Процесс завершен с кодом выхода 134 (прервано сигналом 6: SIGABRT) Я попытался использовать режим отладчика, который показывает, что код не работает из первой строки: crocodile = turtle.Turtle ().

Я использую модуль черепахи в другом скрипте, где он отлично работает ... Есть идеи?

1 Ответ

0 голосов
/ 26 мая 2020

SIGABRT - это системный вызов C низкого уровня для прерывания процесса при возникновении критической ошибки.

В вашем случае это потому, что вы назначаете строковое значение по умолчанию без кавычек.

Это должно быть

def squares_around_taxi(longitude, latitude, azimuth_taxi , size='square_size'):

не

def squares_around_taxi(longitude, latitude, azimuth_taxi , size=square_size):
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...