VS Code: не могу вызвать функцию в редакторе, хотя она работает в терминале - PullRequest
0 голосов
/ 31 октября 2019

Привет, я пытаюсь вызвать функцию в редакторе кода vs:

def function(nr):
    newnr = nr*2
    return newnr

function(3)

, но получаю следующую ошибку:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'function' is not defined

Странная вещь, когда я ставлю всев Терминале это работает:

>>> def function(nr):
...     newnr = nr*2
...     return newnr
...
>>> function(6)
12

Как только функция определена в Терминале, я могу вызвать ее из Редактора.

Поэтому я удалил Терминал и запустил программу без вызова функции. -> тот же код ошибки

def function(nr):
    newnr = nr*2
    return newnr

Что мне не хватает для определения функции в терминале?

Ниже приведен скриншот:

Я пытался использовать Shift + Enterкоторый помещает это в консоль, не работает для всей функции все же. Поэтому я использовал зеленую кнопку отладки в верхнем левом углу.

Большое спасибо

снимок экрана после запуска с зеленой кнопкой отладки

скриншотмой vs-код

1 Ответ

0 голосов
/ 31 октября 2019

Shift+Enter выполняет текущую строку, а не весь файл.

Чтобы выполнить файл, выберите Python: Current file вместо No Configuration или создайте собственную конфигурацию запуска. Затем нажмите F5, чтобы начать отладку.

Редактировать: Снимок экрана, который вы добавили в вопросе (с помощью зеленой кнопки), показывает, что он работает правильно. Обратите внимание, что выполнение команды в терминале распечатает вывод автоматически, тогда как выполнение файла - нет. Таким образом, вы должны добавить print(function(3)), если хотите напечатать результат.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...