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):
,