The only problem I am facing is with the assert statement. I need to make sure that the user enters only integers greater than zero and not any characters or symbols.The assert statement should print the error statement if the user enters a character or symbols.I have already tried isinstance()
, type(variable) == int
but I only get a name error. Is there a way without using if?
def PascalTriangle(rows):
ptriangle = [[1], [1, 1]]
if rows == 1:
return ptriangle[0]
else:
for rownumber in range(2, rows):
ptriangle.append([1]*rownumber)
for number in range(1, rownumber):
ptriangle[rownumber][number] = (ptriangle[rownumber-1][number-1]+ptriangle[rownumber-1][number])
ptriangle[rownumber].append(1)
return ptriangle
def PrintPascalTriangle(ptriangle):
largest_element = ptriangle[-1][len(ptriangle[-1]) // 2]
element_width = len(str(largest_element))
def format_row(row):
return ' '.join([str(element).center(element_width) for element in row])
triangle_width = len(format_row(ptriangle[-1]))
for row in ptriangle:
print(format_row(row).center(triangle_width))
rows = input('Enter the number of rows in Pascal`s Triangle: ')
assert (rows > 0),"Number of rows should be greater than zero"
PrintPascalTriangle(PascalTriangle(rows))