Это полная катастрофа не тестирования вашего кода во время сборки.Давайте посмотрим, как запускается программа:
dataLines = input("please enter the height: ")
rows = int(dataLines)
triangle(rows)
def main():
if checkIfPascal(dataLines):
print('It is a pascal triangle')
else:
print('It is not a pascal triangle')
main()
Треугольник пользователя, читаемый как triangle()
, печатается и выбрасывается!Затем мы вызываем checkIfPascal()
для неконвертированной строки версии высоты треугольника, а не самого треугольника!
И checkIfPascal()
- это его собственное болото кода.Хотя функция triangle()
, по-видимому, форматирует данные как list
из list
из int
, checkIfPascal()
вызывает split(' ')
для своего аргумента, как будто он состоит из строк!Эти две функции не согласуются в их общей структуре данных.
Начните с малого и тестируйте по ходу работы.Не пишите всю программу и предполагайте, что вы (или мы) можете просто отладить работу.Я думаю, что это крутая идея для программы.