我在这种情况下做错了什么?
问题描述:
我工作的一个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
什么是错我的代码?
答
代码中存在逻辑错误。当您使用参数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
。
删除代码中出现的所有'='。它会正常工作。 –
那么,你期望它返回什么? – Anonymous