第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

如何將網(wǎng)格作為函數(shù)返回?

如何將網(wǎng)格作為函數(shù)返回?

慕森王 2023-02-07 17:23:24
所以我有一個任務(wù),我必須使用測試代碼來檢查我的代碼是否正常工作,我試圖做的是將網(wǎng)格定義為函數(shù)并返回它,以便測試代碼可以使用它。測試代碼:def run_test (test):    if test == 0:        grid = []         print(grid)           util.create_grid (grid)        # import from a different file        print (len (grid))        print (len (grid[0]))        print (len (grid[1]))        print (len (grid[2]))        print (len (grid[3]))        print (grid[0][0])        print (grid[1][2])        print (grid[2][1])        print (grid[3][3])我的代碼(來自不同的文件):def create_grid(grid):    grid = [[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]]    return grid我收到的錯誤是:print (len (grid[0])) IndexError: list index out of range
查看完整描述

3 回答

?
蕭十郎

TA貢獻1815條經(jīng)驗 獲得超13個贊

問題是您忽略了以下的返回值create_grid

grid = util.create_grid(grid)

鑒于您grid在重新分配它之前從不使用,將任何對象作為參數(shù)傳遞會更簡單(函數(shù)無論如何都會忽略它):

if test == 0:
    grid = util.create_grid([])


查看完整回答
反對 回復(fù) 2023-02-07
?
呼喚遠方

TA貢獻1856條經(jīng)驗 獲得超11個贊

如果所有文件都在您的控制之下并且您可以修改它們,我會看到兩個問題:

  1. 此方法中的參數(shù)grid從未使用過。它應(yīng)該被刪除

    def create_grid(grid):  
        grid = [[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]]
            return grid
  2. 永遠不會使用返回值。它應(yīng)該是

     grid = util.create_grid()

如果你不能修改test_run(),因為那是失控的,你需要找到一種方法來修改數(shù)組而無需賦值。

在這種情況下,從

grid.clear()

以確保數(shù)組為空。之后使用添加值

grid.append()

或者

grif.extend()


查看完整回答
反對 回復(fù) 2023-02-07
?
繁花如伊

TA貢獻2012條經(jīng)驗 獲得超12個贊

在你的create_grid()功能中,grid變量只在函數(shù)的范圍內(nèi),所以它只會在你的函數(shù)中編輯你的參數(shù)。


例子:


>>> grid = []

>>> def create_grid(grid):

...     grid = [1, 2, 3]

...

>>> create_grid(grid)

>>> print(grid)

[]

在這里你可以看到你的grid變量沒有改變。


你應(yīng)該做的是在你改變它之后返回你的網(wǎng)格(你已經(jīng)這樣做了)并將grid你的函數(shù)中的變量定義run_test()為函數(shù)的返回值,如下所示:


>>> grid = []

>>> def create_grid(grid):

...     grid = [1, 2, 3]

...     return grid

...

>>> grid = create_grid(grid)

>>> print(grid)

[1, 2, 3]

這里你的grid變量確實改變了。


請注意,在這里您不需要將網(wǎng)格作為參數(shù)傳遞,因為您無論如何都在函數(shù)中重新定義它。


所以你的代碼應(yīng)該是這樣的:


def create_grid():

  grid = [[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]]

  return grid

grid = util.create_grid()

如果您想了解有關(guān)范圍的更多信息,請參閱此鏈接。


查看完整回答
反對 回復(fù) 2023-02-07
  • 3 回答
  • 0 關(guān)注
  • 122 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號