簡體   English   中英

Python 在沒有 __init__ 的情況下在 class 中調用 def

[英]Python Calling def in class WITHOUT __init__

最終目標是在沒有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

你不應該直接做print(Classname.something) 您需要像這樣創建 class (一個對象)的實例:

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

編輯: function 缺少return語句。 典型的 function 如下所示:

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

默認情況下,如果沒有return語句,函數會返回None

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM