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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

收到此錯(cuò)誤: TypeError: can only concatenate list

收到此錯(cuò)誤: TypeError: can only concatenate list

烙印99 2023-12-09 17:19:21
我正在嘗試編寫這個(gè)程序來(lái)計(jì)算二維列表的周長(zhǎng)(基本上將其視為矩形),但我不斷收到此錯(cuò)誤。我還需要一些幫助來(lái)弄清楚如何對(duì)“矩形”的列求和而不將角添加兩次。提前謝謝你的幫助def perimeter_sum(arr2d):    col_sum=0    first_row=arr2d[0]    last_row=arr2d[-1]    for i in range(len(arr2d)):        col_sum=arr2d[1+i][0]+arr2d[1+i][-1]        sum = first_row + last_row+col_sum    return suma2d = [[1,2,3,4],[5,6,7,9],[9, 0, 1,2]] #error occurred hereperimeter_sum(a2d)
查看完整描述

2 回答

?
叮當(dāng)貓咪

TA貢獻(xiàn)1776條經(jīng)驗(yàn) 獲得超12個(gè)贊

所以你得到的錯(cuò)誤是因?yàn)槟阍噲D將行(first_row和last_row)添加到標(biāo)量int值(col_sum),因此無(wú)法添加連接列表而不是int。


要獲得二維數(shù)組的周長(zhǎng),您可以將最后一行和第一行以及最后一列和第一列相加,然后減去最后的角點(diǎn),除非有特定原因不能這樣做。就像是:


def perimeter_sum(arr2d):

    first_row = sum(arr2d[0])

    last_row = sum(arr2d[-1])

    first_col = sum([arr2d[i][0] for i in range(len(arr2d))])

    last_col = sum([arr2d[i][-1] for i in range(len(arr2d))])

    

    # sum with double counted corners

    s = sum([first_row, last_row, first_col, last_col])

    

    # decrement once for each corner

    return (s - arr2d[0][0] - arr2d[0][-1] - arr2d[-1][0] - arr2d[-1][-1])


查看完整回答
反對(duì) 回復(fù) 2023-12-09
?
梵蒂岡之花

TA貢獻(xiàn)1900條經(jīng)驗(yàn) 獲得超5個(gè)贊

您可以使用它sum()來(lái)獲取列表的總計(jì)。用它來(lái)求第一行和最后一行的總和。然后循環(huán)遍歷中間行并添加第一個(gè)和最后一個(gè)元素。


def perimiter_sum(arr2d):

    sum = sum(arr2d[0]) + sum(arr2d[-1])

    for row in arr2d[1:-2]:

        sum += row[0] + row[-1]

    return sum

該循環(huán)不包括第一行和最后一行,因此您不會(huì)兩次包含角點(diǎn)。


查看完整回答
反對(duì) 回復(fù) 2023-12-09
  • 2 回答
  • 0 關(guān)注
  • 167 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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