삼중 for문으로 행렬 계산하기
def boolean_product(A, B):
m = len(A)
n = len(B[0])
k = len(A[0]) # 또는 len(B)를 사용해도 됩니다.
if len(B) != k:
raise ValueError("행렬 A와 행렬 B의 크기가 일치하지 않습니다.")
C = [[0] * n for _ in range(m)]
for i in range(m):
for j in range(n):
cij = 0
for q in range(k):
C[i][j]=C[i][j]+(A[i][q] and B[q][j])
return C
# 예제 입력 행렬 A와 B 생성
A = [[1, 0],[0,1],[1,0]]
B = [[1, 1,0],[0,1,1]]
# 행렬 곱셈 실행
C = boolean_product(A, B)
# 결과 출력
for row in C:
print(row)

C = [[0] * n for _ in range(m)] : 2차원 리스트 C를 초기화하는 코드입니다.
m은 원하는 행의 수를 나타내며, n은 열의 수를 나타냄.
이 코드는 m 행과 n 열로 구성된 2차원 리스트를 생성하고, 모든 요소를 0으로 초기화
[[0] * n]은 길이가 n이고 모든 요소가 0인 리스트를 생성
[... for _ in range(m)]는 이러한 리스트를 m번 반복하여 행의 리스트를 생성
결과적으로, C는 m 행과 n 열로 구성된 2차원 리스트이며, 모든 요소가 0으로 초기화되어 있음.
이렇게 초기화된 행렬은 나중에 행렬 곱셈의 결과를 저장하는 데 사용됨