【发布时间】:2021-11-04 10:41:12
【问题描述】:
所以我写了这段代码,一切正常......
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)) 时,什么也没有发生。如果这是一个愚蠢的问题,我深表歉意,但我是新手,所以是的,谁能帮我弄清楚如何使“断言”返回输出??
【问题讨论】:
-
你认为它应该做什么?了解如何创建minimal reproducible example。
-
assert(True)什么都不做。assert(False)-> 错误。您的函数输出是两个元素的元组,这是真的。 -
@Reti43 哦,好吧好吧.. 是的,我很困惑对不起。我认为断言与打印相同。我的坏..谢谢你的解释和澄清
-
"我认为 assert 和 print 一样。"为什么?您是怎么听说有
assert这样的东西的?那个消息来源告诉了您什么?