파이썬 for문 질문

조회수 2323회

1번

hap=0
for a in range(1,11):
    hap=hap+a
    print(hap)

값은

1
3
6
10
15
21
28
36
45
55

2번

hap=0
for a in range(1,11):
 hap=hap+a
print(hap)

값 55

3 번

hap=0
for a in range(1,11):
hap=hap+a
print(hap)

값: error

1번, 2번, 3번의 차이점을 모르겠습니다

for a in range(0,3)
    print('bc')

값은

bc
bc
bc

잖아요

다른 책들 보니 a(변수)랑 bc랑 일치하게 해서 값을 내던데... 이렇게 a(변수)랑 bc랑 일치 안해도 되는건가요? 제가 for문을 아직도 이해를 못하겠습니다

2 답변

  • 좋아요

    1

    싫어요
    채택 취소하기

    파이썬에서 블록구문은 들여쓰기를 통해서 이루어집니다.

    for pattern in patterns:
        print(pattern)
    

    1번에서는 모두 들여쓰기가 되어있습니다. 그래서 hap=hap+a 포함 print 가 반복해서 찍히는 것이고

    2번에서는 hap=hap+a 부분만 들여쓰기가 되어있습니다. 즉 for 문 블럭안에 hap=hap+a만 있는 것이죠. 그래서 마지막에 print 가 한번 찍히는 것입니다.

    3번에서는 들여쓰기가 안됐습니다. 그래서 에러가 발생합니다. 아래 강의를 한번 봐보세요~

    http://tryhelloworld.co.kr/courses/파이썬-입문/lessons/for-in-list

  • 파이썬은 들여쓰기가 중요합니다

    for i in list:
        print(i)
    

    라는건 다른 언어로 바꿔말한다면

    for (i in list) { 
        System.out.println(i);
    }
    

    라는게 됩니다.

    들여쓰기로 코드 블락을 구분합니다. 그래서 들여쓰기가 안맞으면 에러가납니다~

    꼭 신경써주세요

    • (•́ ✖ •̀)
      알 수 없는 사용자

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

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

(ಠ_ಠ)
(ಠ‿ಠ)