У меня установлена Python 3.8 (32-разрядная версия), и я использую Atom для записи своих попыток, а затем копирую их в терминал Python.
Следующий код копируется напрямую с самого начала вводного Python курса, который я беру "для удовольствия":
n = 5
while n > 0:
print(n)
n=n-1
print('Blastoff!')
Код работает в каждой песочнице, которую я могу найти, а последняя строка работает самостоятельно в моем терминале. Но когда я копирую его в свой терминал, я получаю неверную синтаксическую ошибку, которая указывает на слово print
. Я могу исправить это и получить желаемый результат, изменив мой код на:
n = 5
while n > 0:
print(n)
n=n-1
else:
print('Blastoff!')
Но у меня есть три проблемы с этим:
- Почему мой оригинальный код не работает, так как это скопировано прямо с курса?
- Мне нужно нажать Введите дважды после копирования в этот второй блок кода для его запуска. Это почему?
- Почему Atom настаивает на том, чтобы сделать отступ для последнего
print
дальше, чем мои другие отступы?
Вот что я вижу при вводе моего первого блока кода:
>>> n = 5
>>> while n > 0:
... print(n)
... n=n-1
... print('Blastoff!')
File "<stdin>", line 4
print('Blastoff!')
^
SyntaxError: invalid syntax