Python NameError: name 'isAnagram' is not defined

Python NameError: name 'isAnagram' is not defined

我想打印用户输入的数字是否为字谜。我收到一条错误消息,提示 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")

我需要创建一个 class 吗?我也尝试创建一个 isAnagram class。但是我的实现并没有解决问题。

默认 Python 库中不存在 isAnagram - 您必须自己定义它。从您尝试使用它的方式来看,您想创建一个函数

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

然后您可以执行类似 if is_anagram(n, factor): 的操作。

您正在尝试将 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。