为什么当我使用assert时没有任何输出显示



所以我写了这段代码,一切都很好。。。

def lol(n: int):
a, s = [1], [1]
output = []
for i in range(0, n - 1):
s = a[i:]
for k in range(0, len(a)):
s.append(a[k] + s[k])
a = s
output.append(s)
l = [1]
return l,output

当我进行print(lol(n=10))时,我的输出正确地打印出

([1], [[1, 2], [2, 3, 5], [5, 7, 10, 15], [15, 20, 27, 37, 52], [52, 67, 87, 114, 151, 203], [203, 255, 322, 409, 523, 674, 877], [877, 1080, 1335, 1657, 2066, 2589, 3263, 4140], [4140, 5017, 6097, 7432, 9089, 11155, 13744, 17007, 21147], [21147, 25287, 30304, 36401, 43833, 52922, 64077, 77821, 94828, 115975]])

然而,当我在做assert(lol(n))时,什么都不会发生。如果这是一个愚蠢的问题,我很抱歉,但我是新手,所以有人能帮我想办法让"断言"返回输出吗??

要正确使用assert,需要检查条件:

assert 1 == 2 # raise AssertionError
assert 5 > 3 # do not raise

在您的情况下,lol(n=10)的计算结果为True,因此没有任何内容会引发

相关内容

最新更新