chatGPT 코드인터프린터(CodeInterpreter) 사용법 및 예제

ChatGPT CodeInterpreter는 ChatGPT와 함께 작동하는 플러그인으로, ChatGPT가 코드를 실행하고 결과를 반환할 수 있도록 합니다. 이를 통해 사용자는 ChatGPT에 다양한 코드 작업을 요청할 수 있으며, ChatGPT는 이를 실행하고 결과를 반환합니다. 자 어떤 내용인지 자세하게 살펴보시죠!

chatGPT코드인터프린터사용법및예제

준비물

  • chatGPT Plus : 현재는 유료회원에게만 뿌려지는 기능이오니 이점 참고하세요
  • https://chat.openai.com

코드인터프린터 사용법

  1. 좌측 하단 점 3개 버튼을 눌러 setting 화면으로 들어갑니다.

세팅 클릭

2. beta features에서 code interpreter를 활성하면 사용할 수 있습니다

코드인터프린터 활성화

  3. 다음과 같이 나온다면 사용할 수 있는 상태입니다.
코드인터프린터사용가능상태

어떤 기능이 있나요?

ChatGPT CodeInterpreter는 다음과 같은 기능을 제공합니다.
  • Python, Java, C++ 등 다양한 언어의 코드 실행
  • 코드 실행 결과 출력
  • 코드 실행 중 발생하는 오류 보고
  • 코드 실행 시간 측정

어떤 사람이 사용하면 좋나요?

ChatGPT CodeInterpreter는 개발자, 연구자, 학생 등 다양한 사용자에게 유용합니다. 개발자는 ChatGPT CodeInterpreter를 사용하여 코드 테스트 및 디버깅을 수행할 수 있습니다. 연구자는 ChatGPT CodeInterpreter를 사용하여 새로운 알고리즘을 개발하고 테스트할 수 있습니다. 학생은 ChatGPT CodeInterpreter를 사용하여 코딩을 배우고 실습할 수 있습니다.
ChatGPT CodeInterpreter는 아직 베타 버전이지만, 다양한 기능을 제공합니다. ChatGPT CodeInterpreter를 사용하면 ChatGPT를 더욱 강력한 도구로 사용할 수 있습니다.

예제 : 파이썬 코드리뷰

버블 정령에 대한 아래코드를 업로드 한 후 코드 리뷰를 받아보았습니다. 

#!/usr/bin/env python
# -*- coding:utf-8 -*-


li = [11, 1, 1, 1, 1,  2, 35, 7, 34, 8, 1, 123, 23, 34, 511, 213, 34, 56, 0]


# 버블링 정렬
def bubbling(arr):
    new_list = list(arr)

    for i in range(1, len(new_list)):
        for j in range(len(new_list) - i):

            if new_list[j] > new_list[j + 1]:
                temp = new_list[j]
                new_list[j] = new_list[j + 1]
                new_list[j + 1] = temp

    return new_list


new = bubbling(li)
print(new)

답변

답변 내용은 아래와 같으며 전체적으로 맞는 말만 해주고 있습니다. 전반적으로 좀 더 많이 사용해봐야겠지만 현재로서는 기능은 훌륭한 것으로 보입니다.

 

This Python script implements the Bubble Sort algorithm, a simple sorting algorithm that repeatedly steps through the list, compares adjacent elements, and swaps them if they are in the wrong order.

Here is a review of the code:

  1. Readability: The code is quite clean and readable. The function name bubbling could be improved to be more descriptive, such as bubble_sort. The variables li and new could also have more descriptive names.
  2. Comments: There are no comments explaining the logic of the code. It would be beneficial for other developers to include comments explaining how the Bubble Sort algorithm works.
  3. Efficiency: The Bubble Sort algorithm is not very efficient for larger lists. Its time complexity is (O(n^2)), where (n) is the number of items to be sorted. For larger lists, other sorting algorithms like Quick Sort, Merge Sort, or built-in Python sorting functions would perform better.
  4. Swapping Elements: In Python, you can swap two elements in one line using tuple unpacking, like this: new_list[j], new_list[j + 1] = new_list[j + 1], new_list[j]. This eliminates the need for a temporary variable and makes the code cleaner.
  5. Encapsulation: It’s a good practice to put the main execution of a script within a main function (if __name__ == "__main__":). This way, if this script is imported as a module, the main execution won’t run.
  6. Encoding Declaration: The second line of the script is an encoding declaration (# -*- coding:utf-8 -*-). This is not necessary in Python 3, which uses UTF-8 by default.

Here’s how the revised code could look like:

#!/usr/bin/env python

def bubble_sort(array):
    """
    Implement the Bubble Sort algorithm to sort a list in ascending order.

    :param array: List of integers
    :return: Sorted list of integers
    """
    sorted_array = list(array)

    for i in range(1, len(sorted_array)):
        for j in range(len(sorted_array) - i):
            if sorted_array[j] > sorted_array[j + 1]:
                sorted_array[j], sorted_array[j + 1] = sorted_array[j + 1], sorted_array[j]
    return sorted_array

if __name__ == "__main__":
    numbers = [11, 1, 1, 1, 1, 2, 35, 7, 34, 8, 1, 123, 23, 34, 511, 213, 34, 56, 0]
    sorted_numbers = bubble_sort(numbers)
    print(sorted_numbers)

This code does the same thing but with improved readability and good practices.

 

마치며

chatGPT는 유저의 귀를 기울이면서 항상 업데이트를 해주고 있습니다. 모든 사용자에게 생산성을 높여주려는 모습은 너무나 바람직한 모습이 아닐까 싶습니다. 이 기능을 잘 활용하셔서 아무쪼록 도움이 되었으면 좋겠습니다.