我很难让我的代码完美运行。
问题:
写一个函数should_shutdown(battery_level,time_on),如果电池电量低于4.8,则返回True,除非time_on小于60.如果不是这种情况,只有当电池电量不足时,该函数才返回True。比4.7。在所有其他情况下,函数返回False。
我的代码:
def should_shutdown(battery_level,time_on):
if battery_level and time_on < 60:
return False
elif battery_level < 4.8:
return True
else:
return False
它工作得很好,除非我用以下方法测试它:
ans = should_shutdown(4.69, 50)
print(ans)
返回False
,但正确答案应为True
。
其他测试:
should_shutdown(5,10) 预期:错误 得到:错误
should_shutdown(4.74,90) 预期:是的 得到:真的
should_shutdown(4.74,50) 预期:错误 得到:错误
should_shutdown(4.7,50) 预期:错误 得到:错误
- should_shutdown(4.69,50) 预期:是的 得到:错误
should_shutdown(4.75,60) 预期:是的 得到:真的
should_shutdown(4.75,59) 预期:错误 得到:错误
答案 0 :(得分:1)
def should_shutdown(battery_level, time_on):
if battery_level < 4.8:
if time_on < 60:
return False
else:
return True
else:
if battery_level < 4.7:
return True
else:
return False
你的问题在于第一个if语句:
if battery_level and time_on < 60:
这与
相同if battery_level!=0 and time_on<60:
这是因为在python中,任何不是0
的数字都会计算为True
。也许你的意思是:
if battery_level<4.8 and time_on < 60: