我创造了一个帕斯卡三角形。一切都是我想要的。我现在想改变三角形中特定数字的颜色。我想要对角线的颜色不同,即:计数的数字是蓝色的,三角形的数字是橙色的。有没有一种方法可以改变不同行中数字的颜色,甚至设置一个颜色序列(一行中的每个数字都是蓝色、红色、橙色、黄色…..然后下面的like会重新启动序列,但在红色处)?在# Pascal's Triangle
def multiplicative(n, k):
result = 1
for i in range(1, k+1):
result = result * (n-(k-i))/i
return result
def pascal_level(n):
lists = []
ns = range(n)
for n in ns:
nlist = []
for k in range(n+1):
nlist.append(multiplicative(n, k))
nlist = ' '.join(map(str, nlist))
lists.append(nlist)
return lists
def center(strings):
maxlistlen = len(max(strings, key=len))
for i, s in enumerate(strings):
diff = maxlistlen - len(s)
pad = ' '*(diff/2)
yield str(i)+'-> '+pad+s
answer = int(raw_input("How many levels do you want? \n"))
ps = pascal_level(answer)
for r in center(ps):
print r
编辑-我对这一点的理解有限,所以我将不得不考虑一下这些建议。谢谢你的帮助,完成后我会发布更新。我添加了一张与我正在尝试创建的内容类似的图片。Example