Python 3.x Python:重复函数,直到其返回值与某个函数匹配
我有几个函数,比如Python 3.x Python:重复函数,直到其返回值与某个函数匹配,python-3.x,Python 3.x,我有几个函数,比如RandomNumber(n),它们返回一个数字x
RandomNumber(n)
,它们返回一个数字xexclude
,它允许我添加过滤表达式来排除一些数字
例如:
exclude(RandomNumber(100), lambda x: x == 0)
应调用
随机数(100)
,直到返回值为!=0
。这在python中可能吗?有一个标准的filter
函数,它可能已经完成了您想要的功能。将其用作过滤器(谓词,序列)
,其中谓词=lambda x:x!=0
和序列将是使用RandomNumber
创建的数字列表
您还可以执行以下操作:
def get_nonzero():
while True:
result = RandomNumber(100)
if result != 0:
return result
这将只调用函数,直到函数为非零。不是这样,因为函数是在调用
exclude()
之前调用的。您是否尝试过将其包装在lambda中<代码>排除(λ:随机数(100),λx…。