【问题标题】:Python NameError: name 'isAnagram' is not definedPython NameError:未定义名称“isAnagram”
【发布时间】:2018-11-18 14:22:18
【问题描述】:

我想根据用户输入打印数字是否为字谜。我收到一个错误,说 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 类。但是我的实现并没有解决问题。

【问题讨论】:

  • 你在哪里定义isAnagram
  • 没有内置的isAnagram函数。你必须自己定义一个。
  • 你不需要创建一个类。你需要创建一个函数:D

标签: python python-3.7


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2013-01-26
      • 1970-01-01
      • 2020-09-04
      • 2021-10-18
      • 2016-08-09
      • 2016-01-08
      • 2021-07-22
      • 1970-01-01
      相关资源
      最近更新 更多