-2
ich die folgende Funktion unten auf dem Lambda-AWS laufen muß:Python-Funktion auf 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)
jedoch die folgenden Fehler angezeigt und ich kann nicht lösen:
{
"errorMessage": "'>=' not supported between instances of 'int' and 'LambdaContext'",
"errorType": "TypeError",
"stackTrace": [
[
"/var/task/lambda_function.py",
7,
"subset_sum",
"if s >= target:"
]
]
}
Die ursprüngliche Funktion hat mehr Werte, die lange brauchen, deswegen laufe ich auf Lambda.
Auf dem Computer mit py subset_sum.py funktioniert es normal.
Ist 'Ihre Handler-Funktion subset_sum'? – dashmug
Bitte lesen Sie http://docs.aws.amazon.com/lambda/latest/dg/python-programming-model-handler-types.html. – dashmug
Bitte zeigen Sie Ihre gesamte Lambda-Funktion an. Wenn das Ihre gesamte Lambda-Funktion ist, sollten Sie Ihre Funktion so kodieren, dass sie Anrufe über einen Handler empfängt. Siehe: [Lambda-Funktionshandler (Python)] (http://docs.aws.amazon.com/lambda/latest/dg/python-programming-model-handler-types.html). –