【发布时间】:2016-11-16 17:49:26
【问题描述】:
我有一些代码用于 Microbit 上的简单转速计数器。返回变量 rev_per_second 时,有时它是 NoneType(原因未知)。我试图在函数中捕获它,但它似乎不起作用。请问我哪里错了。
# part of the function revs()
if end_time < running_time():
try:
rev_per_second = rev_per_second
except TypeError:
rev_per_second = 1
return rev_per_second # make this value available to the main program
# main part of the program
while True:
rev_per_min = revs() # sometimes this is "None" Why??
display.scroll(str(rev_per_min))
【问题讨论】:
-
这里没有足够的上下文可以确定,但很可能是某些东西正在初始化或将
revs_per_second重新设置为“无”。 -
rev_per_second 在 while 语句之前的函数顶部设置为 1,那么可以将其设置为 None 吗?
-
将您的代码缩减为可重现的最小示例,或链接到 github 上的完整代码。我们猜不出答案。
-
抱歉,我不得不拒绝您对我的答案的编辑 - 您应该对我的答案发表评论,或者对其进行投票(假设,正如我所解释的,它有帮助)。您也可以自己回答问题,或编辑问题以使其更清楚。抱歉,如果看起来有点复杂,我们的想法是生成一个可搜索的有用问答资源。此外,作为参考,如果您希望其他用户看到您的评论,您可能需要 @ 提及他们。
标签: bbc-microbit