首页 > 解决方案 > Python在没有__init__的类中调用def

问题描述

最终目标是在没有inti (self, ...)的情况下运行

如果它等于目标 nums 设置为 [2,4,6,7] 并且目标设置为 11,则此代码从列表中打印两个数字

我在打印我的 ans 时遇到问题。尝试了许多打印行,这是我的最后一行print(Solution.twoSum([2,3,6,7],9))请让我知道我在这里做错了什么

class Solution(object):
def twoSum(self,nums, target):
    nums=[]
    target=0
    i=0
    j=1
    ans=[]

    while i<len(nums):
        fir=self.nums[i]
        j=i+1

        while j<len(self.nums):
            sec = self.nums[j]
            # print(fir,sec)

            if fir+self.nums[j]==self.target:
                ans=[fir,sec]
                print(ans)
                break

            j+=1
        i+=1

标签: pythonfunctionclassinitialization

解决方案


你不应该直接这样做print(Classname.something)。您需要像这样创建类(对象)的实例:

test = Solution()
print(test.twoSum([2,3,6,7],9))

编辑:该函数缺少return语句。一个典型的函数如下所示:

def myfunc(arg1, arg2):
    res = arg1*arg2
    return res

默认情况下,函数返回None,如果没有return语句。


推荐阅读