Written on
·
3.5K
0
if 조건:
실행할 내용
while 조건:
실행할내용
병합정렬 코드처럼 이러한 if문안에 while문 코드인경우에 코드 실행순서가 if문을 먼저 다 돌고 while문을 실행하나요?? 아니면 if문 하나 실행하고 while문 하나 실행 이런식으로 작동되나요?? 헷갈려서 질문드립니다 ㅠㅠ
Answer 3
0
안녕하세요^^
if문은 반복문이 아니라 제어문입니다. 참이면 한 번만 하고 끝나는 구문입니다.
if lt<rt: 가 참이면 if문에 속한 블록을 한 번 하고 끝나는 것입니다.
if lt<rt: 안의 while문은 반복문이니까 거짓이 될 동안 자기 구문을 하다고 멈추면 됩니다.
0
def Dsort(lt, rt):
if lt < rt:
mid = (lt+rt)//2
Dsort(lt, mid)
Dsort(mid+1, rt)
p1 = lt
p2 = mid + 1
tmp = []
while p1<=mid and p2<=rt:
if arr[p1]<arr[p2]:
tmp.append(arr[p1])
p1+=1
else:
tmp.append(arr[p2])
p2+=1
저 코드에서 if문 안에 while문이 쓰여졌을떄 어떤 순서대로 작동하는지 궁금합니다.
1. if문(참일시) -> 실행 -> while문(참일시) -> 실행 -> if문 -> while 문
이순서대로 반복인가요? 아니면
2. if문(참일시) 실행 -> 또 if문 실행 -> if문 실행 -> 다 실행하고 while문 실행
이런 순서대로 코드가 실행되나요!?
헷갈려서 질문드립니다!!!
*for i in range(n):
for j in range(n):
*의 2중 for문처럼 n이 5라 가정시 i가 0일때 j가 0 1 2 3 4 돈 후 i 가 1이되고 j가 0 1 2 3 4 돌고 이런식으로 진행 되는 2중 for문 구조랑 if문 안의 while문의 구조도 똑같은 방식으로 코드가 진행된다고 보면되나요???
0
안녕하세요^^
무슨질문인지 제가 잘 이해가 안됩니다. "if문을 먼저 돌리고"나 "if문 하나 실행하고" 말이 뭔지 모르겠습니다. 예시 코드를 작성해서 구체적으로 질문했으면 합니다.