2010-10-18 7 views
1

У меня есть следующие упражнения:функция Python не печатает Ни

Будний день параметр Правда, если это будний день, а параметр отпуск верно, если мы в отпуске. We спать, если это не будний день или мы в отпуске. Возвращает True, если мы спят.

Вот что я сделал, но вторая функция печати печатает только 'None'.

def sleep_in(weekday, vacation): 
    if(not weekday or vacation): 
     return True 

print(sleep_in(False, False)) 
print(sleep_in(True, False)) 
print(sleep_in(False, True)) 

Выход:

True 
None 
True 

ответ

5

Функции питона возврата None, если явно не указано сделать иначе.

В приведенной выше функции вы не учтите тот случай, когда рабочий день равен True. Интерпретатор достигает конца функции без чтения оператора return (так как условие predecing yours равно False) и возвращает None.

Edit:

def sleep_in(weekday, vacation): 
    return (not weekday or vacation) 

Там вы идете =)

+0

вам не нужны скобки там – SilentGhost

+1

@SilentGhost: В круглых скобках не нужны, да, но они, возможно, добавить ясность. – delnan

+0

@ delnan: и неясное зрение. – SilentGhost

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