반복문(for)란?
말그대로 어떠한 문장을 반복시켜주는 것으로 다음의 예시를 통해 알아보자.
1. for반복문의 작성
# 작성
for 변수 in 리스트(or 튜플, 문자열):
수행할문장1
수행할문장2
...
이렇게 자료형의 요소값이 처음부터 끝까지 변수에 대입되어 출력한다.
어느 식당에 대기순번의 예시를 들어보자.
for waiting_no in [0,1,2,3,4]:
print("대기번호 : {0}".format(waiting_no)) # 순서대로 반복실행
# 대기번호 : 1
# 대기번호 : 2
# 대기번호 : 3
# 대기번호 : 4
위 처럼 waiting_no라는 변수에 리스트에 있는 1,2,3,번이 차례로 출력된다.
2. 응용
kingcrab = ["정상길", "김찬호", "손인욱"]
for customer in kingcrab:
print("{0}님, 식사가 준비되었습니다.".format(customer))
정상길님, 식사가 준비되었습니다.
김찬호님, 식사가 준비되었습니다.
손인욱님, 식사가 준비되었습니다.
라고 터미널에 문자열도 가능하다.
2-1) range함수
# randrange( )
for waiting_no in range(5): # 0 ~ 5미만의 정수
print("대기번호 : {0}".format(waiting_no)) # 순서대로 반복실행
for waiting_no in range(1,6): # 0 ~ 6미만의 정수
print("대기번호 : {0}".format(waiting_no)) # 순서대로 반복실행
반복문과 같이 자주 활용되는 함수로 range, randrange 등이 있다.
2-2) 예제
marks = [92, 33, 70, 48, 88] # 학생들의 시험 점수 리스트
number = 0 # 학생에게 붙여 줄 번호
for mark in marks: # 9[92, 33, 70, 48, 88을 순서대로 mark에 대입
number = number +1
if mark >= 70:
print("%d번 학생은 합격입니다." % number)
else:
print("%d번 학생은 불합격입니다." % number)
전의 if와 %서식문자를 이용해 다음과 같이 시험 합불합을 판단하는 코드를 작성 해볼 수 있다.
2-3) 한줄 for
# 출석번호가 101, 102, 103 ...
student=[1,2,3,4,5]
student =[i + 100 for i in student]
print(student) # [101, 102, 103, 104, 105]
출석번호 1,2,3,4,5... 으로 나열되는 명렬표가 100부터 시작한다고 한다면,
앞에 변수 = [i + 숫자 for i in] 변수의 형태로 변수에 원하는 값을 더해 출력할 수 있다.
학생이름을 길이로 변환
students = ["ironman", "thor", "groot"]
students = [len(i) for i in students]
print(students) # [7, 4, 5]
이렇게 len( )함수를 활용해 문자열의 길이를 출력 할 수도,
# 학생이름을 대문자로 변환
students = ["ironman", "thor", "groot"]
students = [i.upper() for i in students]
print(students) # ['IRONMAN', 'THOR', 'GROOT']
대문자 변환도 해볼 수 있다.