2016-04-23 3 views
-7

Это то, что я имею вход:Проблема с тем, если-иначе заявления

def greater_less_equal_5(answer): 
    if 6 > 5: 
     return 1 
    elif 4 < 5: 
     return -1 
    else: 
     return 0 

print greater_less_equal_5(4) 
print greater_less_equal_5(5) 
print greater_less_equal_5(6) 

и дал мне эту записку

К сожалению, попробуйте еще раз. Похоже, что ваш выход функции 1 вместо -1 , когда ответ равен 3. Убедитесь, что вы правильно заполнили операторы if и elif !

и это то, что не взошло в правом верхнем дисплее:

>1 
>1 
>1 
>None 

Независимо от того, как я меняю вокруг чисел и >/< Я даже пытался == и != он все еще выводит 1 1 1 None ,

Я искал вокруг за любые возможные советы и видели другие застряли на одной и той же проблемы, как и я, и когда я пытался их решает я тогда получаю:

def greater_less_equal_5(answer): 
    if > 5: 
     return 1 
    elif < 5: 
     return -1 
    else: 
     return 0 

print greater_less_equal_5(4) 
print greater_less_equal_5(5) 
print greater_less_equal_5(6) 

и выход:

File "python", line 2 
    if > 5: 
    ^
SyntaxError: invalid syntax 

Является ли этот тест сфальсифицированным, чтобы всегда выводить неудачный результат, чтобы заставить меня платить за профессионала и просить о помощи?

И подсказка дается для этого:

Убедитесь, что если и Элиф заявления заканчиваются двоеточием:

Ваш код должен выглядеть примерно так:

if EXPRESSION: 
    do something 
elif OTHER EXPRESSION: 
    do something 
else: 
    do something 

Am Я просто пропустил что-то ужасное?

+2

Пожалуйста, редактировать теги ответов и использование кода. – cromod

+5

Похоже, вы пытаетесь решить онлайн-проблему на онлайн-платформе, и в этом случае разумно упомянуть, о чем конкретно говорит заявленная проблема (см. [XY problem] (http://meta.stackexchange.com/ вопросы/66377/что-это-The-ху-проблема)). –

+2

Вам не хватает чего-то элементарного. Ваша функция никогда не ссылается на аргумент (плохо) с именем _answer_, который он передал ... поэтому он всегда делает то же самое на основе чисел, которые вы жестко закодировали в нем. Другими словами, '6' всегда будет больше, чем' 5', поэтому он всегда возвращает значение '1'. – martineau

ответ

2

У вас действительно отсутствует что-то основное - а именно, что выход вашей функции не зависит от answer. Независимо от того, что вы используете в качестве answer, потому что 6 > 5 всегда True, он всегда будет возвращать результат , который кейс.

Что вам нужно

def greater_less_equal_5(answer): 
    if answer > 5: 
     return 1 
    elif answer < 5:   
     return -1 
    elif answer == 5: 
     return 0 
+0

Спасибо всем за ответы. Я на самом деле понял это примерно через двадцать минут публикации этого. У меня возникли проблемы с забыванием поставить ответ, поэтому ссылка на выражение просто забыла удалить проводку. – Zathamiel

0

Вы упускаете «ответ» переменная для выражения, которые вы передаете в вашу функцию

def greater_less_equal_5(answer): 
    if answer > 5: 
     return 1 
    elif answer < 5:   
     return -1 
    else: 
     return 0 

print greater_less_equal_5(4) 
print greater_less_equal_5(5) 
print greater_less_equal_5(6) 
Смежные вопросы