● 제어문 - 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(' ') #단을 구분하기 위해 띄어쓰기 사용
예시)

※ 참고 이미지

** 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 |