챗GPT를 활용한 파이썬 코딩 연습

Hanyeol Cho·2023년 6월 1일
0

챗GPT에 다음과 같은 질문을 해보세요.

(내 질문) 파이썬 numpy 라이브러리를 공부하고 있는데, numpy를 이해할 수 있도록 연습 문제를 하나만 만들어줘.

똑똑한 챗GPT가 문제를 만들어 주네요.

(챗GPT 답변) 물론입니다! 아래 연습 문제를 통해 numpy 라이브러리를 이해하고 활용하는 연습을 해보세요.

문제:
주어진 1차원 배열(arr)을 사용하여 다음 작업을 수행하는 numpy 코드를 작성해보세요.

arr: [1, 2, 3, 4, 5]

  1. 배열 arr을 사용하여 numpy 배열(array)을 생성하세요.
  2. 배열 array의 모든 요소의 합을 계산하세요.
  3. 배열 array의 모든 요소의 곱을 계산하세요.
  4. 배열 array의 평균을 계산하세요.
  5. 배열 array에서 최댓값과 최솟값을 찾으세요.
  6. 위의 작업을 수행하는 numpy 코드를 작성해보고, 결과를 출력해보세요.

예시 출력:
arr: [1 2 3 4 5]
sum: 15
product: 120
mean: 3.0
max: 5
min: 1

출력 예시에서 제시한 값과 동일한 결과를 얻어야 합니다. 이 문제를 풀기 위해서는 numpy의 다양한 함수와 메소드를 활용해야 합니다. 힌트를 주자면, numpy.array(), numpy.prod(), numpy.sum(), numpy.mean(), numpy.max(), numpy.min() 함수들이 유용할 것입니다. 좋은 연습이 되길 바랍니다!

위의 문제는 기초적인 수준이군요. 문제를 풀었다면 챗GPT에게 정답을 알려달라고 해봅니다.

(내 질문) 위 문제에 대한 정답을 알려줘.

역시, 챗GPT는 이미 정답을 알고 있었네요.

(챗GPT 답변) 주어진 문제에 대한 정답은 아래와 같습니다.

import numpy as np

arr = np.array([1, 2, 3, 4, 5])
array_sum = np.sum(arr)
array_product = np.prod(arr)
array_mean = np.mean(arr)
array_max = np.max(arr)
array_min = np.min(arr)

print("arr:", arr)
print("sum:", array_sum)
print("product:", array_product)
print("mean:", array_mean)
print("max:", array_max)
print("min:", array_min)

출력 결과:

arr: [1 2 3 4 5]
sum: 15
product: 120
mean: 3.0
max: 5
min: 1

주어진 배열 arr을 사용하여 numpy의 sum(), prod(), mean(), max(), min() 함수를 활용하여 요소들의 합, 곱, 평균, 최댓값, 최솟값을 계산하고 출력합니다. 출력 결과는 주어진 예시 출력과 동일합니다.

자신의 코드와 비교해보면서 복습을 합니다. 자, 이제 기초를 마스터했으니, 이제 좀 더 난이도를 높혀볼까요?

(내 질문) 좋아! 다른 문제 하나 내줘.

챗GPT를 격려하기 위해 '좋아!'라는 칭찬을 해줬습니다. 신난 챗GPT는 이전 문제보다 난이도가 조금 더 높은 문제를 만들어 줍니다.

(챗GPT 답변) 물론입니다! 다음은 더 복잡한 문제입니다. numpy를 사용하여 문제를 해결해보세요.

문제:
주어진 2차원 리스트를 사용하여 다음 작업을 수행하는 numpy 코드를 작성해보세요.

  1. 다음과 같은 2차원 리스트(matrix)를 생성하세요.
    [[1, 2, 3],
    [4, 5, 6],
    [7, 8, 9]]
  2. 배열(matrix)에서 모든 요소의 합을 계산하세요.
  3. 배열(matrix)에서 각 열(column)의 합을 계산하세요.
  4. 배열(matrix)에서 각 행(row)의 평균을 계산하세요.
  5. 배열(matrix)에서 모든 요소 중 가장 큰 값과 가장 작은 값을 찾으세요.

위의 작업을 수행하는 numpy 코드를 작성해보고, 결과를 출력해보세요.

예시 출력:
matrix:
[[1 2 3][4 5 6]
[7 8 9]]
total sum: 45
column sums: [12 15 18]
row means: [2. 5. 8.]
max: 9
min: 1

위 예시 출력과 동일한 결과를 얻어야 합니다. numpy의 함수와 메소드를 활용하여 문제를 해결해보세요. 힌트로는 numpy.array(), numpy.sum(), numpy.mean(), numpy.max(), numpy.min() 함수들이 유용할 것입니다. 성공을 기원합니다!

이런, 이번에는 2차원 행렬 문제를 내놓는군요. numpy는 역시 행렬이 기본이죠. 이번에도 문제를 다 풀었으면 다시 한번 질문합니다.

(내 질문) 훌륭한데? 또 다른 문제를 내줘.

이번에도 칭찬이 먹혀들어간 걸까요? 이전 문제보다 좀 더 도전적인 문제를 만들어 줍니다.

(챗GPT 답변) 물론입니다! 다음은 numpy를 활용한 문제입니다. 도전해보세요!

문제:
주어진 2개의 numpy 배열(arr1, arr2)을 사용하여 다음 작업을 수행하는 numpy 코드를 작성해보세요.

  1. 배열 arr1을 사용하여 3x3 크기의 2차원 배열(matrix1)을 생성하세요.
    arr1: [1, 2, 3, 4, 5, 6, 7, 8, 9]
    matrix1:
    [[1 2 3][4 5 6]
    [7 8 9]]
  2. 배열 arr2를 사용하여 3x3 크기의 2차원 배열(matrix2)을 생성하세요.
    arr2: [9, 8, 7, 6, 5, 4, 3, 2, 1]
    matrix2:
    [[9 8 7][6 5 4]
    [3 2 1]]
  3. 배열 matrix1과 matrix2를 더한 결과인 3x3 크기의 2차원 배열(matrix_sum)을 생성하세요.
  4. 배열 matrix1과 matrix2를 곱한 결과인 3x3 크기의 2차원 배열(matrix_product)을 생성하세요.
  5. 배열 matrix_product의 모든 요소의 합(sum)을 계산하세요.

위의 작업을 수행하는 numpy 코드를 작성해보고, 결과를 출력해보세요.

예시 출력:
arr1: [1 2 3 4 5 6 7 8 9]
matrix1:
[[1 2 3][4 5 6]
[7 8 9]]
arr2: [9 8 7 6 5 4 3 2 1]
matrix2:
[[9 8 7][6 5 4]
[3 2 1]]
matrix_sum:
[[10 10 10][10 10 10]
[10 10 10]]
matrix_product:
[[ 9 16 21][24 25 24]
[21 16 9]]
sum of matrix_product: 195

위 예시 출력과 동일한 결과를 얻어야 합니다. numpy의 함수와 연산자들을 활용하여 문제를 해결해보세요. 성공을 기원합니다!

역시 챗GPT입니다.

이상으로 반복 연습과 훈련이 중요한 프로그래밍 레벨업을 위해 챗GPT를 활용하는 팁이었습니다.

즐거운 코딩하세요~

0개의 댓글