파이썬 while 문을 for문으로 바꾸는데 같은 실행값이 나오지 않습니다

조회수 481회
##전역변수 선언 부분##
i,k=0,0

##메인코드 부분##

i=0
while i<9:
    if i<5:
        k=0
        while k<4-i:
            print('  ', end='')
            k+=1
        k=0
        while k<i*2+1:
            print('\u2665', end='')

##전역변수 선언 부분##
i,k=0,0

##메인코드 부분##

for i in range(0,9):
    if i<5:
        for k in range(0,4-i):
            print('  ',end='')
            k+=1
        for k in range(0,i*2+1):
            print('\u2665',end='')

이런 for 부분으로 바꿨는데
for에 대한 이해도가 낮아 같은 실행값이 나오지 않습니다
어떤 부분을 간과했는지 질문합니다

  • 코드가 무한 루프를 돌기로는 둘 다 똑같네요. 어떤 차이가 발견되었나요? 그리고 텍스트로 올라온 코드가 있으면 코드 캡처 이미지는 필요가 없어서 그건 삭제했습니다. 엽토군 2022.5.4 11:27

1 답변

  • 안녕하세요.

    while에서는 k 반복 부분에서 반복 증감을 위해 k+=1이 사용된 것으로 보입니다.

    그런데 for-range에서는 range 자체가 증감의 기능을 하므로 해당 부분이 한 번 더 작성되지 않아도 될 것 같습니다.

    Hashcode 자체 컴파일러는 문제가 있는 건지 print 부분에서 오류가 나는데, 일단 눈으로 보기에는 그 부분이 걸리네요

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)