【发布时间】:2022-11-14 22:41:16
【问题描述】:
递归实现函数 halves,它接受两个正整数 a 和 b,并返回一个列表,其中包含值 a(转换为浮点类型)和 a 的所有大于 b 的连续一半。 我试过这样,但它返回一个空列表,我不明白发生了什么:
def metades(a, b):
if a < b: return []
if a > b:
lst = []
a = float(a/2)
lst.append(a)
return lst and metades(a,b)
print(metades(100,3))
应该返回:
[100.0、50.0、25.0、12.5、6.25、3.125]
返回:
[]
【问题讨论】:
-
可能是
return lst and metades(a,b)is not doing what you think it should do。尝试一个简单的案例,例如1 and 4,看看会发生什么。