본문 바로가기
프로그램

[파이썬] 문제 : 2차원 배열에서 행,열별 합계

by 오디세이99 2022. 11. 13.
728x90
반응형

 

# 리스트 선언
data = [[10, 20, 30, 40]
       ,[50, 60, 70, 80]
       ,[90, 100, 110, 120]
       ,[130, 140, 150, 160]
        ,[170, 180, 190, 200]]

col_sum = [0] * (len(data[0])+1)       # 열(세로)의 합을 저장할 리스트 만들고 0 으로 초기화, +1은 행별 합계의 열 합계용 추가
for i in range(len(data)):             # 2차원 리스트에서 1차원 원소수만큼 반복
    row_sum = 0                         # 행 합계 변수 초기화
    for j in range(len(data[0])):      # 2차원 리스트에서 2차원 원소수만큼 반복
        print(f"{data[i][j]}",end=' ')  # 2아춴 원소 출력. 줄바꿈을 하지 않음
        row_sum += data[i][j]           # 행 합계 계산. 원소를 더해서 합계로 함
        col_sum[j] += data[i][j]        # 열(세로) 원소별 합계
    col_sum[len(data[0])] += row_sum    # 행별 합계를 열의 행별 함계 원소에 더함.
    print(f"{row_sum}")                 # 핼의 합계를 출력. 줄바꿈

for i in range(len(col_sum)):           # 열별 합계를 출력
    print(f"{col_sum[i]}",end=' ')

결과

10 20 30 40 100
50 60 70 80 260
90 100 110 120 420
130 140 150 160 580
170 180 190 200 740
450 500 550 600 2100 
728x90
반응형

댓글