程序采用两个正整数(对角线和项)。它的作用是在pascal的三角形中打印出对角线的数字序列。因此,您输入对角线,并输入您希望它返回数字列表的项。我对循环设置了限制,当数字大于100时停止它。我希望它返回包含小于100的数字的列表的长度。
"""
Asks what diagonal and up to what term you want
to see the sequence for any diagonal of pascal's triangle
"""
import math
diagonal = int(input("What diagonal do you want to see?"))
term = int(input("what term do you wan to see?"))
product= term
for i in range (1,term+1):
product = math.factorial(i-1 + diagonal-1)/ (math.factorial(diagonal-1) * math.factorial(i-1))
if product > 100:
break
print product
print(len(str(product)))
打印出输入的长度,但不打印列表的长度。 EX)对角线:5;期限:20 它返回的列表:1,5,15,35,70 列表长度:3(应该是5)
答案 0 :(得分:0)
您没有将结果存储到列表中,str(product)
的长度显然不正确。
product = term
result = [] # here
for i in range (1,term+1):
product = math.factorial(i-1 + diagonal-1)/ (math.factorial(diagonal-1) * math.factorial(i-1))
if product > 100:
break
result.append(product) # here
print(len(result)) # and here