je dois exécuter la fonction suivante ci-dessous sur le lambda AWS:fonction Python sur AWS Lambda
def subset_sum(numbers, target, partial=[]):
s = sum(partial)
# check if the partial sum is equals to target
if s == target:
print("sum(%s)=%s" % (partial, target))
if s >= target:
return # if we reach the number why bother to continue
for i in range(len(numbers)):
n = numbers[i]
remaining = numbers[i + 1:]
subset_sum(remaining, target, partial + [n])
if __name__ == "__main__":
subset_sum([1,2,3], 5)
Cependant l'erreur suivante apparaît et je ne peux pas résoudre:
{
"errorMessage": "'>=' not supported between instances of 'int' and 'LambdaContext'",
"errorType": "TypeError",
"stackTrace": [
[
"/var/task/lambda_function.py",
7,
"subset_sum",
"if s >= target:"
]
]
}
La fonction originale a plus de valeurs qui prennent beaucoup de temps à cause de cela, je cours sur Lambda.
Sur l'ordinateur utilisant py subset_sum.py, cela fonctionne normalement.
est 'subset_sum' la fonction de gestionnaire? – dashmug
Veuillez lire http://docs.aws.amazon.com/lambda/latest/dg/python-programming-model-handler-types.html. – dashmug
S'il vous plaît montrer votre entière fonction Lambda. Si * est * votre fonction Lambda entière, alors vous devriez coder votre fonction pour recevoir des appels via un Handler. Voir: [Lambda Function Handler (Python)] (http://docs.aws.amazon.com/lambda/latest/dg/python-programming-model-handler-types.html). –