0:00 반복문은 코드 복붙해주는 용도입니다.
2:26 반복문의 두번째 용도도 있음
중고차를 판다고 여러번 강조하고 싶습니다.
print('BMW 있어요 사셈')
print('BMW 있어요 사셈')
print('BMW 있어요 사셈')
print('BMW 있어요 사셈')
...
이걸 강조해서 10번 정도 출력해주고 싶습니다.
그럴 땐 10번 손수 복붙하셔도 되지만 for 반복문을 쓰면 복붙안하셔도 됩니다.
for 반복문으로 코드 줄이기
for 반복문은 이렇게 사용합니다.
for i in 반복할범위 :
반복해줄코드
그러면 반복할 범위만큼 indent들어간 코드를 여러번 반복해줍니다.
이제 손수 복붙할 필요가 없겠군요.
그리고 i 라는 부분은 변수하나 아무렇게나 작명하시면됩니다. 전 i가 좋아서 i라고 했을 뿐입니다. 이 변수의 용도는 조금 나중에 소개해드립니다.
예를 들면 이런 코드를 짠다고 칩시다.
print('BMW 있어요 사셈')
print('BMW 있어요 사셈')
print('BMW 있어요 사셈')
print('BMW 있어요 사셈')
한 10번 정도 출력하고 싶습니다.
그럴 땐 for 반복문을 쓰도록 합시다.
for i in range(0,10) :
print('BMW 있어요 사셈')
for 반복문을 적용했습니다. 그럼 열번정도 출력되죠? 성공입니다.
이제 앞으로 저 10이라는 숫자만 바꿔주면 원하는 만큼 코드를 복붙할 수 있습니다.
- range(0,10)이 10번정도 반복하라는 소리인데, 실제 역할은 0부터 10까지의 리스트를 생성해주세요~라는 뜻입니다. (몰라도됨)
- i라고 쓴 부분은 변수만드는 문법입니다. 변수 작명 아무렇게나 하시면 됩니다. 아직은 쓸 일이 없습니다.
실은 반복문을 이럴 때도 씁니다
자료를 하나씩 출력하거나 하나씩 조작하고 싶을 때도 씁니다.
예를 들면 이런 데이터가 있다고 칩시다.
중고차들 = ['K5', 'BMW', 'Tico']
이 안에 있는 모든 데이터들을 하나씩 print 하고 싶으면 어떻게 코드를 짜야합니까.
대충 이런게 아닐까요.
중고차들 = ['K5', 'BMW', 'Tico']
print(중고차들[0])
print(중고차들[1])
print(중고차들[2])
이러면 하나씩 다 출력해줄 수 있습니다. 끝입니다.
근데 이걸 똑같이 반복문으로 만들 수도 있습니다.
중고차들 = ['K5', 'BMW', 'Tico']
for i in 중고차들:
print(i)
이러면 아까처럼 모든 데이터를 출력할 수 있습니다. 약간 코드가 더 줄었죠? 그래서 씁니다.
해설을하자면
1. 일단 반복할 범위자리에 중고차들이라는 리스트 데이터를 집어넣었습니다. 아까는 range()이런걸집어넣었는데, 이번엔 리스트 데이터를 집어넣었습니다. 이렇게 리스트자료형을 집어넣으면 리스트 갯수만큼 반복문이 실행됩니다. (3번반복되겠죠?)
2. 리스트 자료를 집어넣었을 땐 i라는 변수는 반복문이 실행될 때마다 리스트 안에있던 하나하나의 자료를 뜻합니다. 아까 range() 이걸로 단순 반복만 시킬 때는 아무쓸모없는 i 변수였지만 range 말고 리스트를 집어넣으면 리스트안에 있던 데이터를 나타내는 고마운 변수가 됩니다.
== 그래서 i는 반복문이 실행될 때 차례로 K5, BMW, Tico가 됩니다.
그래서 print 문법으로 i를 출력해봤더니 아까처럼 K5, BMW, Tico가 출력되는 것일 뿐입니다.
자료꺼낼 때 쌩코딩안해도되고 편리하죠?
응용하면 반복문은 리스트 내의 자료를 하나씩 전부 조작하고 싶을 때도 쓸 수 있습니다.
예를 들면 데이터들을 하나씩 다 더하고 싶으면
중고차들 = [10, 20, 30]
for i in 중고차들 :
print(i + 1)
이러면 모든 데이터에 1을 전부 더해줄 수 있는거고 뭐 그렇습니다.
아무튼 데이터조작시 / 코드복붙시 반복문은 유용하니 자주 활용해보시길 바랍니다.
예를 들면 이런건 어떻게 반복문으로 출력할까요?
2
4
6
8
10
..
이렇게 18까지 출력해주고 싶으면 반복문을 어떻게 쓰면 될까요?
는 알아서 해보시길 바랍니다.
그럼 이건요?
2
4
6
...
18
3
6
9
...
27
4
8
12
...
36
이렇게 구구단 2단부터 9단까지의 결과만 쭉 출력하고 싶습니다.
어떻게 하면 될까요?
실은 2단, 3단, 4단만 먼저 하드코딩으로 출력해보시면 됩니다.
그리고 반복문으로 축약하고싶으시면 축약하면 되는 것일 뿐 별거 아닙니다.