Локальная переменная 'count', на которую ссылаются перед присваиванием / неподдерживаемыми типами операндов - PullRequest
0 голосов
/ 27 сентября 2019
Python 3.7.4 (tags/v3.7.4:e09359112e, Jul  8 2019, 19:29:22) [MSC v.1916 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license()" for more information.

>>> count = 0
>>> def count():
    for i in range(1, 10):

        count = count + 1
        print(count)

>>> count()

Local variable 'count' referenced before assignment

>>> def count():
    global count
    for i in range(1, 10):

        count = count + 1
        print(count)

>>> count()


Unsupported operand type(s) for +: 'function' and 'int'

1 Ответ

0 голосов
/ 27 сентября 2019

Просто ошибка определения объема переменной, решение:

def count():
    count = 0
    for i in range(0,10):
        count += 1
        print (count)

count()

Печать в порядке, потому что переменная count находится в пределах подпрограммы count.Глобальный может испортить область видимости (OO «инкапсуляция»), так же как и объявление переменной count вне этой подпрограммы.

Надеюсь, это поможет.ИМО, нет ничего плохого в вопросе о переменной области, как указано здесь ОП.

Вы можете пойти,

counts = 0

def count(count):
    count = 0
    for i in range(0,10):
        count += 1
        print (count)

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