2014-12-22 5 views
1

В настоящее время я прохожу через Codecademy и пришел к заключительному уроку в условных выражениях и контрольном потоке Python. Он запрашивает следующий код для возврата true, но когда я пытаюсь отправить его, он выводит «none». Что я делаю не так?Булевы и условные обозначения

def the_flying_circus(): 

    if 5 == 5: 
     print "True" 
    elif not True: 
     print "False" 
    else: 
     print "something else" 
+5

Вы не вернул что-нибудь. – Ffisegydd

+0

ПРИМЕЧАНИЕ. Поведение по умолчанию для метода без указанного значения возврата - это возврат None. – Martin

+0

Кроме того, 'True 'не является« True ». –

ответ

0

Изменить «распечатать» заявления «return». Это должно сделать это.

+0

Это сделало. В примере для условных операторов он использовал print, поэтому я сделал то же самое, но изменил их для возврата. Благодарю. –

+0

приветствуется :) –

0

Вы должны изменить print на номер return и удалить котировки на True и False.

1

Теперь, когда ответ очевиден, я хотел бы предложить, чтобы сделать это вместо

def the_flying_circus(): 
    return 5 == 5 

Благодаря разработчиков Python, == возвращает True и False автоматически

Или, как JonB упоминалось in a comment, можно скорее hard-code значение

def the_flying_circus(): 
    return True 

Как 5 всегда равно 5 Независимо от того, что происходит на земле.

+2

Помимо бессмысленной природы вопроса, исправленная версия была бы (при условии, что это черная шкала в любом случае): 'def the_flying_circus(): return True' – JonB

+1

@JonB Проверьте этот [твит] (https://twitter.com/mariofusco/status/542278747941261313) –

+0

Я думаю, что дух этого твита благоприятствует комментарию @ JonB. '5 == 5' логически идентичен« True », поэтому просто верните« True ». – jme

1

Помимо бессмысленного характера вопроса исправленного варианта будет (если это blackboxed так или иначе):

def the_flying_circus(): 
    return True 

Но в духе удовлетворения требования CodeAcademy в:

def the_flying_circus(): 
    if 5 == 5: 
     return True 
    elif not 5 == 5: 
     return False 
    else: 
     return "Dumb exercise" 
+1

Я проверил вопрос CodeAcademy, и он говорит: «Напишите оператор if в файле_flying_circus(). Он должен включать в себя: if, elif и else statements: по крайней мере один из и, или, или нет, компаратор (==, ! =, <, <=, >, или> =); Наконец, the_flying_circus() должен возвращать True при оценке. " Все это в функции, не принимающей аргументов, и которая не имеет ясной цели. Это бессмысленное упражнение, если вы спросите меня ... В любом случае, на самом деле, 'def the_flying_circus(): return True' отклоняется CodeAcademy, потому что он не соответствует вышеуказанным критериям. – jme

+0

Не учитывается преподавание плохой практики программирования. Не соответствует [Zen of Python] (http://legacy.python.org/dev/peps/pep-0020/). Другие ответы говорят, что заменить 'print' на' return' и строки '' True'' и '' False' с логическими 'True' и' False' являются ответом _correct_. – JonB

Смежные вопросы