이 블로그에서는 Python 함수의 로직을 Mermaid를 사용하여 플로우차트로 시각화하는 과정을 설명합니다.
이를 통해 코드의 흐름을 더 쉽게 이해할 수 있습니다.
1. Python 함수 코드 가지고 오기
먼저, 주어진 Python 함수 med3를 살펴봅시다. 이 함수는 세 정수의 중앙값을 찾는 코드를 예시로 작성하겠습니다.
#세 정수를 입력받아 중앙값 구하기
def med3(a,b,c):
# a,b,c의 중앙값을 구하여 반환
if a >= b:
if b >= c:
return b
elif a <= c:
return a
else:
return c
else:
if a >= c:
return a
elif b <= c:
return b
else:
return c
print("세 정수의 중앙값을 구하라.")
a = int(input("정수 a의 값을 입력하세요 : "))
b = int(input("정수 b의 값을 입력하세요 : "))
c = int(input("정수 c의 값을 입력하세요 : "))
2. Chat GPT를 이용하여 코드를 플로우차트로 변환하기
이제 위 코드를 Chat GTP에 플로우차트로 변환명령을 해보겠습니다.
Chat GTP는 조건문과 반환문을 중심으로 플로우차트를 설계합니다.
#세 정수를 입력받아 중앙값 구하기
def med3(a,b,c):
# a,b,c의 중앙값을 구하여 반환
if a >=b:
if b >= c:
return b
elif a <= c:
return a
else:
return c
else:
if a >= c:
return a
elif b <= c:
return b
else:
return c
print("세 정수의 중앙값을 구하라.")
a = int(input("정수 a의 값을 입력하세요 : "))
b = int(input("정수 b의 값을 입력하세요 : "))
c = int(input("정수 c의 값을 입력하세요 : "))
위 코드를 https://mermaid.live/에서 사용가능한 플로우차트 코드로 작성해줘
3. Chat GPT가 Mermaid 코드 작성해서 다음과 같은 결과값을 내놓습니다.
graph TD
A[세 정수의 중앙값을 구하라.] --> B[a의 값을 입력하세요]
B --> C[b의 값을 입력하세요]
C --> D[c의 값을 입력하세요]
D --> E{a >= b}
E --> |Yes| F{b >= c}
E --> |No| I{a >= c}
F --> |Yes| G[return b]
F --> |No| H{a <= c}
H --> |Yes| J[return a]
H --> |No| K[return c]
I --> |Yes| J[return a]
I --> |No| L{b <= c}
L --> |Yes| M[return b]
L --> |No| K[return c]
4. Mermaid를 사용하여 플로우차트 시각화하기
Mermaid Live Editor(https://mermaid.live/)에 접속하여 위 코드를 붙여넣기 하면, 플로우차트가 시각화됩니다. 이를 통해 코드의 흐름을 한눈에 확인할 수 있습니다.
5. 플로우차트 저장하기
이제 위 단계들을 따라가며 Python 코드를 Mermaid로 시각화할 수 있습니다. 이를 통해 코드의 복잡한 로직을 쉽게 이해하고 설명할 수 있습니다.
수발가족을 위한 일기장 “나비일기장”
https://play.google.com/store/apps/details?id=com.maccrey.navi_diary_release
비공개테스트를 위한 20명의 테스터모집 앱 "테스터 쉐어"
https://play.google.com/store/apps/details?id=com.maccrey.tester_share_release
'정보' 카테고리의 다른 글
Mermaid를 사용한 플로우차트 그리기 가이드 (2) | 2024.06.11 |
---|---|
목련꽃으로 풍선 만들기: 봄날의 신나는 과학 체험![추억의 놀이] (1) | 2024.06.11 |
인버터 에어컨 없는 경우도 걱정 마세요! 에어컨 전기 절약 꿀팁 대방출! (0) | 2024.06.11 |
보이콧이란 무엇이며, 어떤 효과와 도덕적 책임이 있을까요? (0) | 2024.06.11 |
주식 액면분할이란 무엇이고, 어떤 효과가 있을까요? (0) | 2024.06.11 |