코딩 스쿨에 오신것을 환영합니다~~

질의응답 게시판

 
파이썬 4-1 연습 문제 질문드립니다.
권 * 철 | 2018-11-27

count = 0

for i in range(800, 901):
    if i %4 != 0:
        print('%4d' %i, end='')
        count = count + 1

    if count %10 == 0 :
        print()


위 코딩에서 8~9줄의 의미가 무엇인지를 모르겠습니다.
한 줄에 10개씩 출력하기 위해 코딩한 것인지는 알겠습니다만,
count가 10의 배수일 때 줄바꾸기를 해라(?)
라는 의미로 받아들였는데
왜 이렇게 코딩했는지 이해가 안 가네요 ㅠㅠ


추가적인 질문)
한 반복문 안에서 위 코딩처럼 두 개의 if문이 들어가도 상관없는가요??
이전의 단원에서 if elif else, if else 를 학습하였는데
위처럼 두 개의 if가 나오니 좀 당황스럽네요 ㅠ

  • 관 * 자
  • 2018-11-28 (06:13)
네. 
반복문에는 안에는 어떤 문장도 들어갈 수 있습니다. 
for i in range(800, 901):     다음 줄에서 들여쓰기 되어 있는 문장들인

    if i %4 != 0: 
        print('%4d' %i, end='') 
        count = count + 1 

    if count %10 == 0 : 
        print() 

문장들이 반복루프에서 반복되는 것입니다.

처음 i가 900일 때 for문 안에 있는 if문 2개가 수행됩니다. 이런 식으로 801, 802, ... 일 땜 반복루프가 진행됩니다.

반복문은 처음에는 누구나 헷갈려합니다. 급하게 하시지 마시고 차근차근 따라가다 보면 이해가 되실 겁니다.

^^


  • 관 * 자
  • 2018-11-28 (06:15)
파이썬에서는 if문이던, for문이던 들여쓰기 되어있는 문장들이 그 안에 속하게 됩니다. 

들여쓰기 되어 있는 부분을 잘 살펴보시고 if문의 중첩 부분을 천천히 공부하시면 요령을 익히실 거예요.^^
  • 관 * 자
  • 2018-11-28 (06:23)
파이썬에서는 print() 문장을 사용하면 자동 줄바꿈이 일어납니다.
줄바꿈을 하지 않기 위해 키워드 end를 이용하여 end=''를 입력합니다.

if count %10 == 0 :  
        print()  

이것은 찍는 개수를 카운트해서 10개를 찍으면 print()를 실행하여 줄바꿈을 하라는 의미입니다.

count%10==0은 count를 10으로 나눈 나머지가 0일 때, 즉 count가 10, 20, 30, .... 일 때 참이됩니다.