● 제어문 - for문

for문은 직관적인 특징을 가장 잘 보여주는 반복문이다. (while문과 비슷)

for문은 문장 구조가 한 눈에 ㄷ르어온다는 장점이 있다.

 

※ for문의 기본 구조
for 변수 in 리스트(또는 튜플, 문자열):
   수행문1
   수행문2
   ...

 

예시)

** i는 리스트에 있는 요소를 담아주는 변수이다.

 


- 다양한 for 문의 사용 및 응용

 

예시)

** a 리스트의 요소값이 튜플이기 때문에 각각의 요소가 자동으로 (first, last) 변수에 대입된다.

 


총 5명의 학생이 시험을 보았다.
60점 이상이면 합격, 미만이면 불학격이다.
합격과 불합격 여부를 출력해보자.
marks = [90, 25, 80, 77, 58]
number = 0 # 학생의 번호를 붙여주기 위해 선언한 변수
for mark in marks:
   number = number + 1
   if mark >=60:
      print("%d번 학생 합격입니다. " %number)
   else:
      print("%d번 학생 불합격입니다. %number) 

 

예시)


- for문과 continue 이용

 

60점 이상인 학생에게만 메시지를 보내고 나머지 사람에게는 보내지 않는 프로그램
marks = [90, 25, 67, 45, 80]
number = 0
for i mark in marks:
   number = number + 1
   if mark <60:
      continue 
   print(" %d번 학생 합격입니다." %number)

 

예시)

** 60점 이하인 학생은 mark <60이 참이되어 continue문을 수행,

이로인해 축하 메시지 출력문은 수행하지 않고 다시 for문으로 돌아간다.


- for문과 함께 자주 사용하는 range함수

 

예시)

** range(1, 11)은 range(시작숫자, 끝숫자-1) 형태

** i변수에 1부터 10까지 하나씩 차례대로 대입된다.


예시2)

marks = [90, 25, 67, 45, 80]
for mark in range(len(marks)):
   if marks[mark] < 60:
      continue
   print(" %d번 학생 합격입니다." %(mark+1))

** len() 함수는 리스트 안에 요소 개수를 구하는 함수이다.

** range(len(marks))는 range(5)가 되어 mark에는 index 0~4까지 값이 대입된다.

 


- for와 range를 이용한 구구단 만들기

 

for i in range(2, 10): #단
   for j in range(1, 10): #곱하는 수
      print(i*j, end = " ")
   print(' ') #단을 구분하기 위해 띄어쓰기 사용

 

예시)

 

※ 참고 이미지

https://wikidocs.net/22 참고

** print(i*j, end=" ")와 같이 print 함수에서 end 파라미터를 설정한 이유는 결과값 출력 시 다음 줄로 넘기지 않고

해당 줄에 출력하기 위해 사용했다.

** print문의 end 매개변수에는 줄바꿈 문자(\n)가 기본적으로 설정되어 있다.


- 리스트 컴프리헨션(List comprehension)

리스트안에 for문을 포함하는 리스트 컴프리헨션을 사용하면
좀더 편리하고 직관적인 프로그램을 만들 수 있다.

 

※ 리스트 컴프리헨션 사용 문법

[표현식 for 항목 in 반복가능객체 if 조건문]

 

사용 전 문법)

a = [1,2,3,4]
result = []
for num in a:
    result.append(num*3)
print(result)

 

>> 출력 : [3, 6, 9, 12]

 

사용 후 문법)

a = [1,2,3,4]
result = [num*3 for num in a]
print(result)

 

>> 출력 : [3, 6, 9, 12]

 


 

※ for문 2개 이상 사용도 가능하며, for문 여러개 사용할 때 문법

[표현식 for 항목1 in 반복가능객체1 if 조건문1
   for 항목2 in 반복가능객체2 if 조건문2
   ...
   for 항목n in 반복가능객체n if 조건문n]

 

구구단을 통한 예시)

** for문으로 작성한 코드를 while문으로 바꿀 수 있고 while문 또한 for문으로 바꿀 수 있다.

'Language > Python' 카테고리의 다른 글

Python - 사용자 입/출력  (0) 2024.05.07
Python - 함수  (0) 2024.05.02
Python 제어문 - while문  (0) 2024.04.28
Python 제어문 - if문  (0) 2024.04.28
Python 변수  (1) 2024.04.26

+ Recent posts