3

#6 が作成するリストの #7 で斜めに合計を取得しようとしています。リストがこれだとすると[[2,3,1],[1,1,1],[5,6,4]]、合計は2 + 1 + 4になります

#6

def randomlists(s):
    b=s
    list1 = []
    while s>0:
        sublist = []
        for x in range(0,b):
            sublist.append(randrange(-100,101))
        list1.append(sublist)
        s-=1
    return list1
#print(randomlists(5))
#7

def diagonalsum(x):
    a=randomlists(x)
    count=0
    print (a)
    for b in a:
        while count<x:
            d=a[0]
            b=a[1]
            c=a[2]
            print (a[(count)])
            count+=1
        return d+b+c
print (diagonalsum(3))
4

3 に答える 3

0

対角要素を取得するには、最初の行の最初の要素、2 番目の行の 2 番目の要素、n 番目の行の n 番目の要素を取得します。

def diagonalsum(x):
    a = randomlists(x)
    return sum(row[i] for i, row in enumerate(a))

通常の for ループ読み取りを使用する、それほど簡潔ではない代替手段

def diagonalsum(x):
    a = randomlists(x)
    result=0
    for i, row in enumerate(a):
        result += row[i]
    return result
于 2013-04-12T20:13:13.167 に答える