Я написал код для программы, которая найдет треугольник Паскаля. Однако форматирование не выходит, как я бы надеялся. Мой код выглядит следующим образом: Защиту факторный (п): «» «Рассчитать факториала» «» р = 1 для г в диапазоне (1, п + 1): р = р * я вернуть рКак вы печатаете в цикле for без запуска новой строки?
def binomial(n, k):
"""Calculate n choose k"""
y = int(factorial(n)/(factorial(k)*factorial(n-k)))
return y
a = int(input("How many rows of Pascal's triangle do you want?: "))
for j in range(a):
for i in range(j + 1):
n = (a-1)-j
print(" "*n, binomial(j, i), end=" ")
print("")
Благодаря для цикла, делающего " "*n
бит перед каждым i in range(j+1)
, вместо того, чтобы треугольник хороший Паскаля:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
я получаю:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
Что я могу посовещаться с этой ошибкой форматирования? Я попытался положить n = (a-1)-j
и print(" "*n)
бит вне for i in range(j+1)
и внутри только for j in range(a)
, чтобы увидеть, будет ли это только отступ над текстом один раз, но это создало новую строку. Что мне делать?