Найти тему
BrainPamping

Система по исправлению ошибки

Когда твой код не работает посмотри эту схему

Система по нахождению и исправлению ошибок
Система по нахождению и исправлению ошибок

Ты получил ошибку, когда запустил код?

Если "да", то определяем какой тип ошибки:

1. AtributeError - ты используешь метод на объекте неверного типа.

2. SyntaxError - это синтаксическая ошибка, возможно ты забыл взять строку в кавычки, лишняя кавычка(или другой символ), или у тебя не сходится количество открывающих и закрывающих скобок в выражении.

3. NameError - ты допустил ошибку в названии переменной, метода или функции. Ты забыл импортировать модуль. Ты не определил переменную и т. д.

4. TypeError - ты используешь оператор на объектах неверного типа. Объект, который должен обладать значением, является None. Ты используешь нецелые числа в спайсе списка. Ты назвал метод/функцию с неверным количеством или типом аргументов.

5. IOError - ты пытаешься открыть файл, который не существует.

6. IndentationError - ты одновременно используешь и отступы, и пробелы. Ты не выравнил строки в блоке.

7. KeyError - ты пытаешься осуществить поиск по ключу, которого нет в словаре.

Если "нет", то используется в коде циклы(for/while) или условие(if):

Если if:

- Числа которые должны быть равны, не равны. Ты сравниваешь число со строкой(например: if 3 == "3")

- Составное условие не выдаёт ожидаемый результат. Порядок приоритетов в условии двусмысленный - добавь скобки.

Если циклы(for/while):

- Список, который должен иметь значение на каждый проход цикла, имеет только одно значение. Ты определил список внутри цикла, вывести его наружу.

- Цикл, использующий range() - функцию, упускает последнее значение. Range() - функция не вкл. в себя конец указанного интервала, увеличь его на 1.

- Я пытаюсь перебрать элементы коллекции строк, но вместо этого перебираю отдельные символы. Ты ошибочно перебираешь внутри строки вместо коллекции строк.

- Я пытаюсь записать в файл несколько строк, но на выходе получаю одну строку. Ты открываешь файл внутри цикла, вынеси это действие наружу.

Если же нет циклов и нет условий, или есть условия то рассматриваем такие проблемы как:

- Переменная, которая должна содержать значение, не содержит его. Ты хранишь возвращаемое значение функции, которое изменяет саму переменную.

- Я пытаюсь напечатать значение, но получаю только странную строку. Ты печатаешь сам объект(например: FileObject), а нужен результат метода объекта.

- Регулярное выражение не подходит, когда я этого ожидаю. Ты забыл использовать информативные строки или экранировать обратный слеш.

- Я пытаюсь прочитать файл, но не могу ничего считать. Ты уже читал содержимое файла в коде ранее, и курсор сейчас находится а конце файла.

Удачи в нахождении ошибок в своём коде!!!