Общий вопрос о циклах while - PullRequest
       4

Общий вопрос о циклах while

0 голосов
/ 12 сентября 2018

Так что для основного кода ниже.Я думал, что spam = spam + 1 добавит 1 к спаму локальной переменной, но, похоже, он добавит его в глобальную переменную (или зачем вам начинать с глобальной переменной spam = 0).Я думал, что локальные переменные существуют только внутри функции (начиная с двоеточия.) Кажется, что это не должно работать, учитывая локальные / глобальные области действия?

  spam = 0
    while spam < 5:
        print('Hello, world.')
        spam = spam + 1

1 Ответ

0 голосов
/ 12 сентября 2018

Цикл while не создает новую область.Области видимости определяются только определениями функций и классов.Цикл while не является определением функции.

Таким образом, операторы spam = 0 и spam = spam + 1 находятся в одной и той же области видимости, поскольку вокруг них нет определения функции.

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