0

我有一些用于 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))
4

1 回答 1

0

几乎可以肯定的解释是,函数中存在一条不以 return 语句结尾的路径,因此 Python 默认返回 None。

检查 revs() 函数的所有路径是否以语句结尾,否则如果没有 return 语句return,Python 将返回。None

于 2016-11-16T09:49:26.090 回答