Python NameError: имя 'isAnagram' не определено

Я хочу напечатать, является ли число анаграммой или нет из пользовательского ввода. Я получаю сообщение об ошибке nameError. Сообщение об ошибке

И это мой код для проверки ввода для анаграммы.

n = input("Enter a long number")
factor = 2
factor_anagram = False
while factor < 10:
    if isAnagram(n, factor):
    print(n, "is an anagram with factor", factor)
    factor_anagram = True 
    factor += 1
if not factor_anagram:
     print("No")

Нужно ли создавать класс? Я также попытался создать класс isAnagram. Но моя реализация не решила проблему.

2 ответа

Решение

Вы пытаетесь использовать isAnagram(n, factor) как встроенную функцию наподобие print("xyz"). isAnagram() не является встроенной функцией, поэтому вам придется определить ее в верхней части кода. Это может выглядеть так:

def isAnagram(n, factor):
    if (whatever comparison needs to be made here):
        return True
    else:
        return False

Теперь, когда вы вызываете функцию isAnagram, будет возвращено либо True, либо False.

isAnagram не существует в библиотеке Python по умолчанию - вы должны определить его самостоятельно. Исходя из того, как вы пытаетесь его использовать, вы хотите создать функцию

def is_anagram(n, factor):
    # Your code here
    # return True or False

Вы можете сделать что-то вроде if is_anagram(n, factor):,

Другие вопросы по тегам