Ты смешал вкладки и пробелы. Это может привести к некоторым запутанным ошибкам.
Я бы предложил использовать только вкладки или только пробелы для отступов. Использование только пробелов, как правило, является более простым выбором. Большинство редакторов имеют возможность автоматического преобразования вкладок в пробелы. Если у вашего редактора есть эта опция, включите ее. В стороне, ваш код является более подробным, чем это должно быть.