728x90
370 |
# 연습문제 92p
# 1. 읽기 전용 자료를 만들 때 사용하는 자료형은? : tuple(튜플)
# 2. 키와 값의 쌍을 저장하는 자료구조를 무엇이라 하는가? : dictionary(딕셔너리)
# 3. list[start:end]와 같이 리스트안에서 범위를 지정해 원하는 원소를 선택하는 연산은 무엇인가? : 슬라이싱
# 4. 문자열의 길이를 계산하는 함수는 무엇인가? : len()
# 5. 리스트 뒤에 요소를 추가하는 메소드(함수)는? : append()
# 6. 리스트, 튜플, 딕셔너리 등을 세트로 변환시켜 주는 함수는? : set()
371 |
1
2
3
4
5
6
7
8
9
10
11
12
13
|
# 프로그래밍 문제 92p
# 1. 리스트를 이용해 두 3x3 행렬의 덧셈을 계산하는 함수를 만들고 이를 실행해보라.
mymat1=[[1,2,3],
[4,5,6],
[7,8,9]]
mymat2=[[1,2,3],
[4,5,6],
[7,8,9]]
mymatsum=[[0,0,0],[0,0,0],[0,0,0]]
for i in range(3):
for j in range(3):
mymatsum[i][j]=mymat1[i][j]+mymat2[i][j]
print(mymatsum)
|
cs |
372 |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
# 2. 위 프로그램을 임의의
# 두 m x n 행렬의 덧셈을 계산할 수 있도록 확장해 보라.
mymat1=[[1,2,3],
[4,5,6],
[7,8,9]]
mymat2=[[1,2,3],
[4,5,6],
[7,8,9]]
m=len(mymat1);n=len(mymat1[0])
mymatsum=[]
for i in range(m):
myemptylist=[]
j=0
while j<n:
myemptylist.append(0)
j+=1
mymatsum.append(myemptylist)
print(mymatsum)
for i in range(3):
for j in range(3):
mymatsum[i][j]=mymat1[i][j]+mymat2[i][j]
print(mymatsum)
|
cs |
373 |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
# 92p
# 2. 위 프로그램을 임의의
# 두 m x n 행렬의 덧셈을 계산할 수 있도록 확장해 보라.
mymat1=[[1,2,3,0],
[4,5,6,0],
[7,8,9,0],
[7,8,9,2]]
mymat2=[[1,2,3,1],
[4,5,6,1],
[7,8,9,1],
[7,8,9,-1]]
m=len(mymat1);n=len(mymat1[0]) # 입력자료 m,n 알기
mymat_sum=[]
for i in range(m): # 비어있는 m by n 행렬
myemptylist=[] # 행:임시 빈 행 만들기(리스트형태)
j=0 # while 전 초기값
while j<n:
myemptylist.append(0) # 모든 값 0으로 입력
j+=1
mymat_sum.append(myemptylist) # 한 행 통째로 추가
print(mymat_sum) # 빈행 점검
for i in range(m): # 행렬의 합
for j in range(n):
mymat_sum[i][j]=mymat1[i][j]+mymat2[i][j]
print(mymat_sum)
|
cs |
374 |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
# 두번째 접근
# 92p
# 2. 위 프로그램을 임의의
# 두 m x n 행렬의 덧셈을 계산할 수 있도록 확장해 보라.
import numpy as np
mymat1=[[1,2,3,0],
[4,5,6,0],
[7,8,9,-1]]
mymat2=[[1,2,3,1],
[4,5,6,1],
[7,8,9,1]]
m=len(mymat1);n=len(mymat1[0]) # 입력자료 m,n 알기
mymat_sum5=np.empty([m,n])
print(mymat_sum5) # 빈행 점검
print()
for i in range(m): # 행렬의 합
for j in range(n):
mymat_sum5[i][j]=mymat1[i][j]+mymat2[i][j]
print(mymat_sum5)
|
cs |
37 |
37 |
37 |
37 |
37 |
728x90