Условные и управляющие потоки в Python: функция не должна принимать аргументов
Я делаю Python на CodeCademy.com еще раз, пытаясь заставить функцию the_flying_circus() вернуть true. Вот инструкции:
Напишите оператор if в the_flying_circus. Он должен включать: - операторы if, elif и else - хотя бы одно из и, или, или нет - компаратор - наконец, the_flying_circus() должен возвращать True при оценке.
def the_flying_circus(evaluated):
if evaluated == 1:
return True
elif evaluated == 0:
return not True or True
else:
return -1
print the_flying_circus(1)
После запуска этого кода я получаю вывод "Нет" и получаю следующее сообщение об ошибке от CodeCademy:
Ой, попробуйте еще раз. the_flying_circus не должен принимать никаких аргументов.
Я не понимаю, что они имеют в виду. О каких аргументах они говорят, и как я могу убедиться, что они не приводят никаких аргументов, не мешая программе?
3 ответа
Ваша функция принимает аргумент:
def the_flying_circus(evaluated):
но в упражнении вас попросят создать функцию без параметров:
the_flying_circus()
должен вернутьсяTrue
при оценке.
В этом предложении при оценке просто означает, что выражение the_flying_circus()
выполнен.
Ваша функция просто должна соответствовать требованиям; используйте операторы и операторы и убедитесь, что функция всегда возвращает True
,
Следующее должно пройти:
def the_flying_circus():
evaluated = 1
if evaluated == 1:
return True
elif evaluated == 0:
return not True or True
else:
return not False
print the_flying_circus()
Как отметил Мартжин Питерс, отчасти проблема заключается в том, что ваша функция принимает аргумент, а вам явно сказано, что она не должна.
Есть еще одна проблема, которая заключается в том, что ваша функция не обязательно вернет True
, Что-то вроде:
def the_flying_circus():
if 1 > 0 and not 0:
pass
elif 2 > 3:
pass
else:
pass
return True
это минимальный (и совершенно бесполезный) рабочий пример.
def the_flying_circus():
if 2 ** 3 == 8 and 5 + 1 == 6 :
return True # Start coding here!
elif the_flying_circus(2):
return not True
print the_flying_circus()