簡體   English   中英

為什么當我使用斷言時沒有顯示任何輸出?

[英]Why doesnt any output show up when I use 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 1 == 2 # raise AssertionError
assert 5 > 3 # do not raise

在你的情況下lol(n=10)評估為 True,所以沒有任何提升

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM