본문 바로가기
프로그래밍_기타 언어

파이썬(python) for문

by 떠도리c 2024. 9. 22.
반응형

파이썬(python) for문

for문은 While문과 비슷한 반복문으로 사용할 수 있다.

while문에 비해 직관적인 특징을 가지고 있다.

  • 들여쓰기 방법
    • 탭(Tab)
    • 공백(Spacebar) // 공백 사용 시 4개의 공백을 사용을 추천한다.
    • 4개 공백 = Tab 공백과 동일

기본 구조

in 뒤에 나오는 '리스트' '튜플' '문자열' 의 첫 요소부터 끝 요소까지 변수에 대입해가며 수행 문장을 수행한다.

for 변수 in 리스트 or 튜플 or 문자열:
        <수행 문장1>
        <수행 문장2>
        <수행 문장3>
        ...

 

  • for문 예시
# for문 예제 1

list = ['apple_1', 'apple_2', 'apple_3', 'apple_4']

for i in list:
        print(i)

# 리스트에 있는 apple_1 ~ apple_4 까지 순차적으로 i 변수에 대입하여 print 됨

# 실행 결과
apple_1
apple_2
apple_3
apple_4

# for문 예제 2

n = [(1, 2), (3, 4), (5, 6), (7, 8)]

for (first, last) in n:
        print(first + last)

# n에 튜플을 리스트 형태로 선언되어 있어 first, last 변수에 첫번째 리스트 요소 (1,2)가 first, last 변수에 대입되고
# print(first + last) 연산 결과를 출력한다

# 실행 결과

3 # 1+2
7 # 3+4
11 # 5+6
15 # 7+8

 

for + continue문

marks = [90, 25, 67, 45, 80]
number = 0

for mark in marks:
        number = number +1
        if mark < 60:
                continue
        print("%d번 학생 축하합니다. 합격입니다. " % number)

# mark 변수에 marks 리스트 요소들이 대입되며 if문을 수행한다.
# if문의 조건이 참인 경우 continue 문을 수행하여 for문의 처음으로 돌아간다.

# 실행 결과
1번 학생은 합격입니다.
3번 학생은 합격입니다.
5번 학생은 합격입니다.

# 1번 학생은 90점으로 if문 수행 결과가 '거짓'으로 continue문을 수행하지 않고 print문 수행
# 2번 학생은 25점으로 if문 수행 결과가 '참'으로 continue문을 수행하여 for문 처음으로 돌아감.

 

 

range 함수

숫자 리스트를 자동으로 만들어주는 함수

a = range(5)    # range(5) 0부터 5미만을 표현
b = range(0,5)  # range(0,5) 0부터 5미만을 표현

# 예제 1

add = 0

for i in range(5):
        add = add + i
print(add)

# i 변수에 range(0,5) 까지 숫자를 대입. add 변수에 i 값을 더해가며 최종 합산 결과를 print로 출력
# 결론 0부터 4까지 더한 결과를 출력

# 실행 결과

10 # 0+1+2+3+4

# 예제 2

marks = [90, 25, 67, 45, 80]

for number in range(len(marks)):
        if marks[number] < 60:
                continue
        print("%d번 학생 축하합니다. 합격입니다." % (number+1))

# len 함수는 리스트 안의 요소 개수를 돌려주는 함수이다.
# 따라서 len(marks)는 5가 될 것이고 range(len(marks))는 range(5)가 될 것이다.
# number 변수에는 차례로 0부터 4까지의 숫자가 대입될 것이고,
# marks[number]는 차례대로 90, 25, 67, 45, 80 값을 갖게 된다.

# 실행 결과

1번 학생 축하합니다. 합격입니다.
3번 학생 축하합니다. 합격입니다.
5번 학생 축하합니다. 합격입니다.

# 예제 3 - 구구단

for i in range(2, 10):      # 2~9까지
        for j in range(1, 10):  # 1~9까지
                print(i*j, end=" ")  # i 곱하기 j
        print('')

# 실행 결과

2 4 6 8 10 12 14 16 18
3 6 9 12 15 18 21 24 27
4 8 12 16 20 24 28 32 36
5 10 15 20 25 30 35 40 45
6 12 18 24 30 36 42 48 54
7 14 21 28 35 42 49 56 63
8 16 24 32 40 48 56 64 72
9 18 27 36 45 54 63 72 81
# 리스트 내포

a = [1, 2, 3, 4]
result = []

for num in a:
        result.append(num*3)
print(result)

# 위 내용을 내포 사용
a = [1, 2, 3, 4]
result = [num*3 for num in a]
print(result)

# 내포에 if문 사용
a = [1, 2, 3, 4]
result = [num*3 for num in a if num % 2 == 0]  # 짝수만 3곱하기
print(result)

# 내포 사용 구구단
result = [x*y for x in range(2, 10)
for y in range(1, 10)]
print(result)

 

 

반응형

'프로그래밍_기타 언어' 카테고리의 다른 글

파이썬(python) if문  (0) 2024.09.22
파이썬(python) 함수  (0) 2024.09.22
파이썬(python) 모듈 사용  (0) 2024.09.22
파이썬(python) 파일 읽고 쓰기  (0) 2024.09.22
파이썬(python) 예외처리(try except)  (0) 2024.09.22