我尝试打印一个可以被给定数字整除的数字列表。然而,控制台说:
lambda>() takes exactly 2 arguments (1 given)
代码:
inp1 = int(input("Enter a number: "))
inp2 = int(input("Enter a divisor: "))
result = list(filter(lambda x, inp2: x % inp2 == 0, range(inp2, inp1)))
print("Numbers divisible by", inp2, "are", result)
如何通过继续使用lambda和filter来解决这个问题?
答案 0 :(得分:0)
在lambda x
之后忽略#inp1 = int(input("Enter a number: "))
#inp2 = int(input("Enter a divisor: "))
inp1 = 10
inp2 = 2
result = list(filter(lambda x: x % inp2 == 0, range(inp2, inp1)))
print("Numbers divisible by", inp2, "are", result)
以使其再次运行。
lambda期待inp2作为一个论据。
Numbers divisible by 2 are [2, 4, 6, 8]
输出 = for ($i = 0; $i < count($request->worker_id); $i++)
{
$this->repairsService->addRepairWorker($request->worker_id[$i], $vehicle);
}
答案 1 :(得分:0)
最简单的解决方法是给第二个参数一个默认值:
#inp1 = int(input("Enter a number: "))
#inp2 = int(input("Enter a divisor: "))
inp1 = 42
inp2 = 6
result = list(filter(lambda x, inp2=inp2: x % inp2 == 0, range(inp2, inp1)))
print("Numbers divisible by", inp2, "are", result)
输出:
Numbers divisible by 6 are [6, 12, 18, 24, 30, 36]