область действия функции в Python - PullRequest
0 голосов
/ 20 февраля 2012

Я только начал изучать Python сегодня и пытался вызвать одну функцию, которую я определил из другой функции.Интерпретатор вернул ошибку: NameError: глобальное имя isPrime не определено

Вот как выглядит мой код:

def split (value):
    x = 2
    halfOne, halfTwo = 0, 0
    if isPrime(value) == True:
        print (value)
        return
    else:
        while x < value:
            if value % x == 0:
                halfOne = value / x
                halfTwo = x
                split(halfOne)
                split(halfTwo)
            x += 1
def is_prime(value):
# some code

спасибо за помощь!

Ответы [ 3 ]

6 голосов
/ 20 февраля 2012

Erm - ваша функция называется is_prime, а не isPrime.

1 голос
/ 20 февраля 2012

Может быть, вы хотите вместо isPrime(value).

И вы должны определить функцию перед ее вызовом.

1 голос
/ 20 февраля 2012

Может ли быть так, что функция isPrime() не существует, как говорится в сообщении об ошибке? Однако у вас есть один, который называется is_prime(); возможно, вы могли бы назвать это вместо этого.

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