我在这种情况下做错了什么?

问题描述:

我工作的一个Python的codecademy.com当然,我找不到什么是错,此代码:我在这种情况下做错了什么?

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) 

它返回:

-1 
1 
1 

什么是错我的代码?

+2

删除代码中出现的所有'='。它会正常工作。 –

+3

那么,你期望它返回什么? – Anonymous

代码中存在逻辑错误。当您使用参数5调用greater_less_equal_5函数时,将输入第一个if语句,因为它满足条件answer>=5。因此,每次调用greater_less_equal_5函数时,使用参数5,您将得到返回值1

为了得到它,只需看看两个if条件中需要什么,这样当answer=5时,您将得到返回值0

正如@Bhargav Rao所说,您需要从代码中删除=标志。

原因是它首先检查answer是否大于或等于5并返回1。 5大于或等于至5,所以它返回1