본문 바로가기
Python

파이썬 기초 07. for문

by Y25N 2023. 9. 18.
728x90
#반복 구조
"""
지정한 조건이 충족될 때까지 명령문이나 명령문 블록을 여러번 실행하는 구조

횟수 제어: for
반복이 시작되기 전에 반복 횟수를 알 수 있음. 무한루프에 빠지지x

조건 제어: while
반복 횟수는 조건에 따라 달라짐. 무한루프에 빠질 수 o

for:
주어진 자료를 순회할 때 주로 사용
반복의 번위가 미리 정해짐
시퀀스에 처리할 항목이 있다면 명령문을 실행하고 다음 항목을 변수에 할당하여
시퀀스가 끝날 때까지 반복문 실행.

시퀀스에 있는 값들이 제어변수에 하나씩 할당되며 값이 할당될 때마다 명령블록 실행

for i in [1,2,3,4,5] :
    i
"""
for i in [1,2,3,4,5]:
    print(i)

for i in 'Python':
    print(i)

#range를 이용해 반복 -> 0~지정된 수까지 횟수 반복
for i in range(7): #0 1 2 3 4 5 6
    print(i)

#Hello * 10
for i in range(10):
    print('Hello')

"""
range - 일정 범위의 정수 생성 / 증가값 생략 가능
range(fin value) range(5) -> 0 1 2 3 4 
range(start, fin) range(1,5) -> 1 2 3 4
range(star, mid, fin) range(1,5,2) -> 0 1 2 3 4 -> 2씩 증가해서 5-1 전까지
-> 1,3
"""
#중첩반복문
#내부 for문을 외부 for문의 시퀀스만큼 반복
#내부 루프, 외부 루프는 동일한 제어변수 사용 x
for i in range(3):
    for j in range(4):
        print(i,j)
        
"""
i j
0 0
0 1
0 2
0 3

1 0
1 1
1 2
1 3

2 0
2 1
2 2
2 3

"""

#2~9단 출력
for i in range(2,10):
    for j in range(1,10):
        print(f'{i}*{j}={i*j}', end='\t')
    print()

#구구단 세로 출력
for i in range(1,10):
    for j in range(2,10):
        print(f'{j}*{i}={j*i}',end='\t')
    print()

# 1~10까지 정수의 합 구하여 출력

total = 0
for i in range(1,11):
    total+=i
print(total)

# 1~100까지 홀수 합
total = 0
for i in range(1, 101):
    if i%2 != 0:
        total += i
print(total)