ChatGPT CodeInterpreter는 ChatGPT와 함께 작동하는 플러그인으로, ChatGPT가 코드를 실행하고 결과를 반환할 수 있도록 합니다. 이를 통해 사용자는 ChatGPT에 다양한 코드 작업을 요청할 수 있으며, ChatGPT는 이를 실행하고 결과를 반환합니다. 자 어떤 내용인지 자세하게 살펴보시죠!
준비물
- chatGPT Plus : 현재는 유료회원에게만 뿌려지는 기능이오니 이점 참고하세요
- https://chat.openai.com
코드인터프린터 사용법
- 좌측 하단 점 3개 버튼을 눌러 setting 화면으로 들어갑니다.
2. beta features에서 code interpreter를 활성하면 사용할 수 있습니다
어떤 기능이 있나요?
- Python, Java, C++ 등 다양한 언어의 코드 실행
- 코드 실행 결과 출력
- 코드 실행 중 발생하는 오류 보고
- 코드 실행 시간 측정
어떤 사람이 사용하면 좋나요?
예제 : 파이썬 코드리뷰
버블 정령에 대한 아래코드를 업로드 한 후 코드 리뷰를 받아보았습니다.
#!/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:
- Readability: The code is quite clean and readable. The function name
bubbling
could be improved to be more descriptive, such asbubble_sort
. The variablesli
andnew
could also have more descriptive names. - 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.
- 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.
- 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. - 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. - 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는 유저의 귀를 기울이면서 항상 업데이트를 해주고 있습니다. 모든 사용자에게 생산성을 높여주려는 모습은 너무나 바람직한 모습이 아닐까 싶습니다. 이 기능을 잘 활용하셔서 아무쪼록 도움이 되었으면 좋겠습니다.