1

我有这个停车系统的代码。当空格数超过 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 语句之后关闭程序,而不是让它运行。还有更多代码(if 语句、循环、函数),但它们无关紧要。

谢谢 :)

4

2 回答 2

3

我能想到几种方法。

一般来说,你可以进入一个无限循环,如果没有办法中断循环,这将有效地停止一切:

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

在 micro:bit 的文档中,还有microbit.panic(),引用,“需要重新启动”micro:bit:

microbit.panic(0)

你可以看看这是否适合你。

由于 micro:bit 使用 MicroPython 作为其 Python 实现,因此您可以在此处查看MicroPython 文档:

import pyb

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

但是,如果确实发生了外部中断(并且可能发生),那么程序可能会继续。

于 2019-04-02T11:10:25.280 回答
1

您的代码片段有点误导,因为它必须在while True:循环中。只是突破那个外循环。

于 2019-04-05T09:42:49.650 回答