Принудительное Микро: Бит Отключение - PullRequest
1 голос
/ 02 апреля 2019

У меня есть этот код для системы парковки. Когда количество пробелов превышает 20, оно отправляет сообщение об ошибке из-за того, что 20 является пределом пробелов. Я хочу попробовать закрыть программу после этого момента.

Я пытался делать то, что вы можете делать в Python. Это:

import sys
display.scroll("Error: Limit exceeded.")
sys.exit()

Это дает мне ошибку атрибута.

from microbit import *
import sys

elif spaces > 20:

        display.scroll("Error: The spaces have exceeded the limit.")
        sys.exit()

Это должно завершить программу, не позволяя ей функционировать, после оператора elif. Существует больше кода (операторы, циклы, функции), но он не имеет значения.

Спасибо:)

Ответы [ 2 ]

3 голосов
/ 02 апреля 2019

Есть пара способов, о которых я могу думать.

В общем, вы можете просто войти в бесконечный цикл, который эффективно остановит все, если нет способа прервать цикл:

while True:
    microbit.sleep(1000000)  # wait for 1000 seconds until the end of time

В документации micro: bit также есть microbit.panic(), что, цитируя, "требует перезапуска" микро: bit:

microbit.panic(0)

Вы могли видеть, работает ли это для вас.

И поскольку micro: bit использует MicroPython в качестве своей реализации Python, вы можете посмотреть здесь в документации по MicroPython:

import pyb

pyb.stop() # stop CPU, waiting for external interrupt

Однако, если произойдет внешнее прерывание (и это может произойти), программа, вероятно, продолжит работу.

1 голос
/ 05 апреля 2019

Ваш фрагмент кода немного вводит в заблуждение, поскольку он должен быть в цикле while True:. Просто прорыв этого внешнего цикла.

...