Програма не працює
Моя програма не працює! Що робити? У цій статті я спробую зібрати найчастіші помилки початківців програмувати на python 3, а також розповім, як їх виправляти.
Проблема: Моя програма не запускається. На частини секунди з'являється чорне віконце, а потім зникає.
Причина: після закінчення виконання програми (після виконання всього коду або при виникненні виключення програма закривається. І якщо ви її викликали подвійним кліком по іконці (а ви, швидше за все, викликали її саме так), то вона закриється разом з віконцем, де знаходиться виведення програми.
Рішення: запускати програму через IDLE або через консоль.
Проблема: Функція input не працює. Пише SyntaxError.
Причина: Ви запустили Python 2.
Проблема: Десь побачив просту програму, а вона не працює.
Причина: Вам підсунули програму на Python 2.
Рішення: Прочитати про відмінності Python 2 від Python 3. Переписати її на Python 3. Наприклад, дана програма на Python 3 виглядатиме так:
Проблема: TypeError: Can't convert 'int' object to str implicitly.
Причина: Не можна складати рядок із числом.
Рішення: Привести рядок до числа за допомогою функції int(). До речі, зауважте, що функція input() завжди повертає рядок!
Проблема: SyntaxError: invalid syntax.
Причина: Забуто двокрапку.
Проблема: SyntaxError: invalid syntax.
Причина: Забуто одно.
Проблема: NameError: name 'a' is not defined.
Причина: Змінна "a" не існує. Можливо, ви опечаталися в назві або забули її ініціалізувати.
Рішення: Виправитипомилку.
Проблема: IndentationError: expected an indented block.
Причина: Потрібен відступ.
Проблема: TabError: неможливе використання tabs and spaces in intationtation.
Причина: Змішування пробілів та табуляції у відступах.
Рішення: Виправити відступи.
Проблема: UnboundLocalError: Local variable 'a' referenced before assignment.
Причина: Спроба звернутися до локальної змінної, яка ще не створена.
Проблема: Програма виконалася, але файл нічого не записалося / записалося не все.
Причина: Не закрито файл, частина даних могла залишитися в буфері.
Проблема: Тут може бути ваша проблема. Коментарі трохи нижче:)
Також вам може бути корисним цей опис: