亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在程序中調用Python中的類

如何在程序中調用Python中的類

智慧大石 2023-10-05 16:29:43
以下代碼在調用時讀取類外部的值會引發錯誤。我做不到!nums = [2,7,11,15], target = 9class Solution(object):    def twoSum(self, nums, target):        d = {}        for i, n in enumerate(nums):            m = target - n            if m in d:                return [d[m], i]            else:                d[n] = iError:    nums = [2,7,11,15], target = 9           ^SyntaxError: cannot assign to literal如何在類外讀取nums和target的值?請解釋。我無法弄清楚。只有當我這樣做時它才有效。if __name__ == '__main__':     s = Solution()     print (s.twoSum([2,7,11,15], 9))為什么不反過來 -> nums = [2,7,11,15], target = 9
查看完整描述

3 回答

?
德瑪西亞99

TA貢獻1770條經驗 獲得超3個贊

沒什么復雜的,只是基本語法。

nums, target = [2,7,11,15], 9



查看完整回答
反對 回復 2023-10-05
?
阿波羅的戰車

TA貢獻1862條經驗 獲得超6個贊

您應該只在單獨的行上分配值。 nums = [2,7,11,15], target = 9正在嘗試將 9 分配給 nums 并嘗試將 9 分配給您的列表和目標?!盁o法分配給文字”是因為它嘗試將值 9 分配給列表。如果您替換列表中的變量,則會失敗,因為單個值 9 無法解壓縮為兩個變量。



查看完整回答
反對 回復 2023-10-05
?
蝴蝶刀刀

TA貢獻1801條經驗 獲得超8個贊

由于語法部分是由其他人處理的,如果您想在類中使用 nums 和 target,請從類方法定義中刪除參數 nums 和 target,如下所示:


nums = [2,7,11,15]

target = 9


class Solution(object):

    def twoSum(self): # here is the change

        d = {}

        for i, n in enumerate(nums):

            m = target - n

            if m in d:

                return [d[m], i]

            else:

                d[n] = i


if __name__ == '__main__':

     s = Solution()

     print (s.twoSum())


查看完整回答
反對 回復 2023-10-05
  • 3 回答
  • 0 關注
  • 159 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號