인프런 커뮤니티 질문&답변

qqqssh님의 프로필 이미지

작성한 질문수

프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)

for 구문(2-1) : 하루종일 반복해봐요.

반복문

21.01.28 00:28 작성

·

179

0

sum1 = 0

 

for v in range(1, 1001):

       sum1 += v

여기서 sum1 += v의 의미는 알겠지만, 왜 += 으로 표기하는지 모르겠어요. 파이썬을 처음배워도 보통 표기를 할때, 왜그렇게 표기를 하는지 이해가 갔는데... 

1~ 1000까지 더하는게 왜 저렇게 표기하는 거죵?

답변 2

3

PARK JUNYEONG님의 프로필 이미지

2021. 01. 28. 00:42

1. 왜 += 으로 표기하는지 모르겠어요. 파이썬을 처음배워도 보통 표기를 할때, 왜그렇게 표기를 하는지 이해가 갔는데... 

---------------------------------------------------------------

첫번째 질문의 내용이 이상해서 왜 += 으로 표기하는지 모르겠어요 이 부분으로 답변 드릴게요!

sum1 += v에서 +=복합 대입 연산자로 합니다.

여기서 산술 연산자로 변경을 하면 아래와 같습니다

sum1 = sum1 + v

비교를 하면

sum1= sum1+v #산술 연산자

sum1 += v #복합 대입 연산자

한눈에 보이죠?

지금은 코드가 짧아서 둘 다 괜찮다고 하는데 코드가 살짝 복잡해지면 복합 대입 연산자가 훨씬 더 편해집니다.

제 생각에 왜 그렇게 표현하는지 생각을 해봤는데

코드를 간결하고 한눈에 알아볼 수 있도록 하기 위해서 저렇게 작성하는 것 같습니다!

처음에는 어려울 수 있지만, 시간이 지날수록 코드를 많이 보다 보면 익숙해집니다 :)

---------------------------------------------------------------

도움이 되었으면 우측하단 또는 좌측하단에 하트 한번만 눌러주세요 :)

또한, 해결이 안된 경우 답글 작성 부탁드립니다!

2

PARK JUNYEONG님의 프로필 이미지

2021. 01. 28. 01:56

2. 1~ 1000까지 더하는게 왜 저렇게 표기하는 거죵?

---------------------------------------------------------------

sum1 = 0

for v in range(1, 1001):
       sum1 += v

print(sum1)

range() 함수는 숫자 리스트를 생성할 때 사용하는 함수이고,

range(start, stop, step)로 구성되어있습니다. (슬라이싱이랑 비슷)

1부터 1000까지를 더해야 하는데 일일이 직접 작성하기 힘들죠....

그래서 range() 함수가 대신 하는 거예요~

range(start, stop, step)에서 stop은 stop-1로 생각(중요!)하셔야 합니다

따라서, 1000까지 하고 싶다 그러면 1001로 작성해야지 1000까지 나옵니다 :0

---------------------------------------------------------------

정리를 하면,

1부터 시작이니 start는 1이고 1000까지이니 stop은 1001 숫자 간격은 따로 없으니 step은 pass

또한, 반복문을 해야 하니 for 문을 사용해줘야 하니

최종 결과로 for v in range(1,1001): 가 되는 거죠~

---------------------------------------------------------------

도움이 되었으면 우측하단 또는 좌측하단에 하트 한번만 눌러주세요 :)

또한, 해결이 안된 경우 답글 작성 부탁드립니다!

qqqssh님의 프로필 이미지

작성한 질문수

질문하기