名称类错误

时间:2018-03-13 20:42:23

标签: python python-3.x class

def returnComparison(comparison, *args):
   # Sample:
   #   returnComparison('greater than', 10, 20, 55) --> 55
   if comparison == "greater than":
      return max(args)
   elif comparison == "less than":
      return min(args)
   else:
      flag = True
      for arg in range(args-1):
         if args[arg] != args[arg+1]:
            flag = False
      return flag

    Error: <class 'NameError'>!

1 个答案:

答案 0 :(得分:1)

我认为您需要帮助修复脚本进入else语句时获得的异常。

这里的问题非常简单。你正在从元组中减去一个整数。

事实上,这里更大的错误是您没有正确使用range()功能。你应该传递一个整数来使它工作。

解决方案非常简单。将代码的第10行更改为:for arg in range(len(args)-1): len()函数返回args元组的长度。

所以,你的代码最终会像这样:

def returnComparison(comparison, *args):
   # Sample:
   #   returnComparison('greater than', 10, 20, 55) --> 55
   if comparison == "greater than":
      return max(args)
   elif comparison == "less than":
      return min(args)
   else:
      flag = True
      for arg in range(len(args)-1):
         if args[arg] != args[arg+1]:
            flag = False
      return flag
祝你好运!