#1

#1-2 ) 3차원 공간에서 임의의 점 3개를 생성한다
a = np.random.randint(-100, 101, size=3)
b = np.random.randint(-100, 101, size=3)
c = np.random.randint(-100, 101, size=3)

#이론 문제
1) numpy의 np.append()함수에서 axis를 설정하지 않았을 때, 
   두 배열의 차원이 일치하지 않아도 1차원 배열을 반환한다.
   [O]
  #근거 코드 
	arr1 = np.arange(1,13)
	arr2 = np.arange(13,25).reshape(3,4)

	#axis = 0 | x축을 기준으로 갖다붙임. 아래에 붙음, axis=1은 옆에붙음
	arr3 = np.append(arr1, arr2) #axis가 없으면 1차원 배열로 변형해서 붙임
	print(arr3) #오류없이 배열 붙음
	
2) np.sort() 함수를 사용하면 원본 배열이 직접 변경된다. [2]
[X]
arr=np.random.randint(10, size=10)
print(arr)
#np.sort(배열) default : 오름차순
print(np.sort(arr))
print(arr)

3) np.reshape 함수를 사용하여 배열의 총 원소 수가 변할 수 있다. [2] 
[X]
arr=np.arange(1,13).reshape(3,5)
print(arr) # 오류발생
4) np.concatenate() 함수는 기본적으로 배열을 0축(행 방향)으로 병합한다. [2]
[o]
arr1 = np.arange(1,13).reshape(3,4)
arr2 = np.arange(13,25).reshape(3,4)

arr_default=np.concatenate([arr1,arr2])
arr_axis0=np.concatenate([arr1,arr2], axis =0 )
arr_axis1=np.concatenate([arr1,arr2] ,axis =1 )
print(arr3)
print(arr_axis0)
print(arr_axis1)

5) numpy 배열을 수평으로 병합하기 위해 np.hstack() 함수를 사용할 수 없다. [2]
[x]

arr1 = np.arange(1,13).reshape(3,4)
arr2 = np.arange(13,25).reshape(3,4)

arr_hstack = np.hstack((arr1, arr2))
print(arr_hstack)