if-else语句的问题

时间:2016-04-23 23:28:48

标签: python testing

这是我输入的内容:

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和elif语句以冒号结尾:

     

您的代码应该类似于:

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

我只是遗漏了一些非常基本的东西吗?

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

你错过了&#39;回答&#39;变量用于表达式,您将其传递给函数

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)