Я использую приложение фляги и конечную точку URL, чтобы разрешить ввод числа. Затем я хочу отобразить последовательность Фибоначчи до тех пор, пока она не станет равной или меньшей введенного числа.
Это то, что у меня сейчас есть:
@app.route("/fibonacci/<int:param_fi>/")
def getFib(param_fi):
if param_fi < 2:
return ('0,1,1')
else:
L = getFib(param_fi-1)
if L[-1] < param_fi:
L.append(L[-1] + L[-2])
return L
У меня возникают проблемы с точным определением, откуда произошла ошибка. Я пытался составить список и преобразовать его в строки, но не могу заставить его работать. Когда я пытаюсь это, он возвращает следующую ошибку:
«Функция представления не вернула правильный ответ. Тип возвращаемого значения должен быть строкой, кортежем, экземпляром Response или вызываемым WSGI, но это был список.»
Я ищу следующий вывод:
/ fibonacci / 250 (это пользовательский ввод) /
0,1,1,2,3,5,8,13,21,34,55,89,144,233
Или / fibonacci / 90 (это пользовательский ввод) /
0,1,1,2,3,5,8,13,21,34,55,89
Любая помощь приветствуется.
Final
@app.route("/fibonacci/<int:param_fi>/")
def getFib(param_fi):
i = 0
j = 1
sequence = []
current_operation = 0
index = 0
while True:
sequence.append(i)
current_operation = i + j
i = j
j = current_operation
if i > param_fi:
return json.dumps(sequence)
else:
index += 1
return json.dumps(sequence)