#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 пробели), но Питону это не нравится.
Комментариев нет:
Отправить комментарий