#python #python_3x
(Я совсем новичок) Пишу в IDLE (Python 3.4.1 shell) Когда копирую код из интернета, он ошибки не выдаёт, а когда я его переписываю буква в букву, он выдаёт ошибку. вот код из интернета: >>>for i in 'hello world': if i == 'o': continue print(i * 2, end='') Вот мой: >>> for i in 'hello world': if i == 'o': continue print(i * 2, end='') SyntaxError: inconsistent use of tabs and spaces in indentation В чём ошибка? Оказывается ошибка была не только в отступах. Если в питоне вы не правильно написали какую то строчку и после неё нажали Enter, то после этого программа может вместо переноса на новую строчку прогнать программу. Когда у меня такое было, я что бы избежать прогона вместо исправления ошибки переходил на новую строчку долгим нажатием на пробел, а уже потом исправлял ошибку. В результате программа видела не отступ, а длинную строчку. И выдавала ошибку! Спасибо всем большое. Ошибка устранена. НА вопрос в коментарии: Я учусь по смоучителю в интернете https://pythonworld.ru/samouchitel-python
Ответы
Ответ 1
В программировании на Питоне, отступы критичны! Они используются языком для создания структуры программы (исходного кода). Не стоит смешивать пробелы и табы. А также надо следить за тем, чтобы отступы были все одинаковые и желательно кратные (например, по 4 пробела).Ответ 2
На взгляд обе эти коды одинаковыми, но во вашем коде вы в команде if i == 'o': использовали 1 Tab и 8 пробелов, пока в команде print(i * 2, end='') вы использовали 12 пробелов. Дла человека в том нет разницы (т.к. Tab видит как 4 пробели), но Питону это не нравится.
Комментариев нет:
Отправить комментарий