21.01.28 00:28 작성
·
179
0
sum1 = 0
for v in range(1, 1001):
sum1 += v
여기서 sum1 += v의 의미는 알겠지만, 왜 += 으로 표기하는지 모르겠어요. 파이썬을 처음배워도 보통 표기를 할때, 왜그렇게 표기를 하는지 이해가 갔는데...
1~ 1000까지 더하는게 왜 저렇게 표기하는 거죵?
답변 2
3
1. 왜 += 으로 표기하는지 모르겠어요. 파이썬을 처음배워도 보통 표기를 할때, 왜그렇게 표기를 하는지 이해가 갔는데...
---------------------------------------------------------------
첫번째 질문의 내용이 이상해서 왜 += 으로 표기하는지 모르겠어요 이 부분으로 답변 드릴게요!
sum1 += v에서 +=는 복합 대입 연산자로 합니다.
여기서 산술 연산자로 변경을 하면 아래와 같습니다
sum1 = sum1 + v
비교를 하면
sum1= sum1+v #산술 연산자
sum1 += v #복합 대입 연산자
한눈에 보이죠?
지금은 코드가 짧아서 둘 다 괜찮다고 하는데 코드가 살짝 복잡해지면 복합 대입 연산자가 훨씬 더 편해집니다.
제 생각에 왜 그렇게 표현하는지 생각을 해봤는데
코드를 간결하고 한눈에 알아볼 수 있도록 하기 위해서 저렇게 작성하는 것 같습니다!
처음에는 어려울 수 있지만, 시간이 지날수록 코드를 많이 보다 보면 익숙해집니다 :)
---------------------------------------------------------------
도움이 되었으면 우측하단 또는 좌측하단에 하트 한번만 눌러주세요 :)
또한, 해결이 안된 경우 답글 작성 부탁드립니다!
2
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): 가 되는 거죠~
---------------------------------------------------------------
도움이 되었으면 우측하단 또는 좌측하단에 하트 한번만 눌러주세요 :)
또한, 해결이 안된 경우 답글 작성 부탁드립니다!