#python
#python
Вопрос:
У меня есть функция, которая должна возвращать списки, однако, если невозможно правильно преобразовать в показанной попытке, то это означает, что ввод неверен, и то, что я делаю, это возвращаю false здесь код:
def objective_function(fo):
min_or_max = 0
piso = 5
i = 5
C = []
index = []
if fo[0 : 5] == "minz=":
min_or_max = 1
elif fo[0 : 5] == "maxz=":
min_or_max = 2
while i < len(term):
if fo[i] == " " or fo[i] == "-":
coefficient, j = separate_term(fo[piso : i])
try:
C.append(Fr(coefficient))
index.append(int(j))
except:
return False
piso = i
print(C)
return min_or_max, C
Что я хочу сделать, так это узнать, возвращает ли она false для печати («У нее ошибка»), и если нет, покажите два списка, которые она возвращает, как я бы это сделал?
Комментарии:
1. Вы не показали, как используется эта функция, но вы могли бы просто проверить правдивость:
ret = objective_function(data); if ret: print("All good") else print("Error")
.2. Вы пытаетесь проверить тип данных объекта? Это может помочь isinstance
3. Если функция должна возвращать список, вызовите исключение, если вы не можете этого сделать. Это заставляет вызывающего абонента иметь дело с ошибкой, а не позволяет ему ошибочно предполагать, что возвращаемое значение является списком.
4. То, что я пытаюсь сделать, это часть, в которой я вызываю функцию и проверяю, что она возвращает, независимо от того, что я ей отправляю, я отправляю ей строку, и если все идет хорошо, она возвращает два списка, и если что-то пойдет не так, я получаю возвращает False
5. Я говорю, что если что-то пойдет не так, создайте исключение вместо возврата
False
. В противном случае ваш вызывающий может по ошибке попытаться использоватьFalse
в контексте, где им требуется ожидаемое возвращаемое значение, и они все равно получат новую ошибку.