在练习中: “帕洛阿尔托的松鼠一天中大部分时间都在玩。特别是温度在60到90(含)之间时,它们会玩。除非在夏天,否则上限是100,而不是90。 boolean is_summer,如果松鼠玩耍,则返回True,否则返回False。”
def squirrel_play(temp, is_summer):
for temp in range(61,101) and is_summer = True:
return True
elif is_summer = False and temp > 90:
return False
else:
return True
或者这个:
def squirrel_play(temp, is_summer):
if is_summer = True and temp is in range(61,101): #Changed
return True
elif is_summer = False and temp > 90:
return False
else:
return True
我怀疑它不会考虑给定的每种输入,特别是由于最后两行,但是当我尝试运行此代码时,它在第二行给出了一条错误消息。我不知道它是什么,也没有任何解决方案。
答案 0 :(得分:0)
第一个有一个for语句,所以它肯定是错误的。
第二个也是错误的,因为如果is_summer
为False并且温度低于60,则它将诉诸else块并给出True
,这是错误的
def squirrel_play(temp, is_summer):
if is_summer == True and temp in range(60,101):
return True
elif is_summer == False and temp in range(60, 91):
return True
else:
return False
答案 1 :(得分:0)
您不必针对真或假进行测试。您可以只使用if
或if not
def squirrel_play(temp, is_summer):
low_temp = 60
hi_temp = 91
if is_summer: # implicit check for True
hi_temp = 101
if temp in range(low_temp, hi_temp):
return True
return False