打印列表垂直/居中的帕斯卡三角形

2024-05-12 18:12:52 发布

您现在位置:Python中文网/ 问答频道 /正文

我被一个看似简单的问题难住了。一切都被正确地计算和显示。我要它水平打印并居中打印。另外,删除括号和逗号的方法是加号。在

from math import factorial
numcheck = False
while numcheck == False:
try:
    height = (raw_input("Input height of Pascal's Triangle (must be integer): "))
    height = int(height)
    numcheck = True
except ValueError:
    print "Not an integer!"
pascaltri = [[factorial(n) // (factorial(k) * factorial(n - k)) for k in range(n+1)]
 for n in range(height)]
print pascaltri

Tags: 方法infalsefor水平rangeinteger括号
1条回答
网友
1楼 · 发布于 2024-05-12 18:12:52

您可以这样格式化它:

maxlen = len(" ".join([str(i) for i in pascaltri[-1]]))
formatted = '\n'.join([ " ".join([str(i) for i in line]).center(maxlen) for line in pascaltri])
print formatted

但是看看Fredrik的链接,有很多有趣的想法,包括更有效的方法来生成三角形。在

相关问题 更多 >