当我运行这个代码片段几次在python中生成一个随机的偶数时,它打印"无"有一段时间了为什么会这样?

时间:2018-04-25 13:08:28

标签: python-3.x random

当我多次运行此代码时,它会打印"无"有一段时间了为什么会发生这种情况

import random
def randomeven():
    n=int(r.random()*100)
    if n%2==0:
       return n
    else:
       randomeven()

print(randomeven())

1 个答案:

答案 0 :(得分:0)

您需要return randomeven()

否则您将从函数返回void / None。

所以,当第一个随机数不均匀时,你会得到None

randomeven()
 |
 ---> (generates 15) calls itself, returns None
       |
       ---> (generates 2) returns 2
             |
         <---- (2 is returned)
       |
 <------ (returns None)

我建议使用调试器来解决这类问题。