프로그래밍 언어/Python

파이썬 Python 실습 :: 반복문 for, while 실습

gamjadori 2024. 1. 4. 10:55
728x90

** for / while 사용

  • for: 구하고자 하는 값의 조건이 무엇인지 정확할 경우
  • while: 구하고자 하는 값의 조건이 무엇인지 정확히 모를 경우, 유동적인 경우

<반복문 for>

for 변수 in range(횟수):
    반복할 코드

<for과 range 사용>

  • 파이썬의 for 반복문은 range에서 in으로 숫자를 하나하나 꺼내서 반복하는 방식
  • for는 숫자를 꺼낼 때마다 코드 실행
>>> for i in range(3):
				print('Hello', i)
Hello 0
Hello 1
Hello 2

>>> start = 1
>>> end = 100
>>> step = 10
>>> list_0 = list(range(start, end, step))
**>> 1, 11, 21, 31, 41, 51, 61, 71, 81, 91** (범위가 1부터 100까지인데, 10씩 건너뛰어 추출)
>>> print(len(list_0), list_0)
10 [1, 11, 21, 31, 41, 51, 61, 71, 81, 91]

>>> for i in range(start, end, step):
		    print('Hello', i)
Hello 1
Hello 11
Hello 21
Hello 31
Hello 41
Hello 51
Hello 61
Hello 71
Hello 81
Hello 91

>>> start = 1
>>> end = 100
>>> step = -1
>>> list_0 = list(range(start, end, step))
>> 10, 9, 8, 7, 6, 5, 4, 3, 2, 1
>>> for i in range(start, end, step):
		    print('Hello', i)
Hello 10
Hello 9
Hello 8
Hello 7
Hello 6
Hello 5
Hello 4
Hello 3
Hello 2
Hello 1

<count>

count = input('반복 횟수를 입력하세요:')
for i in range(**int(count)**):
    print('Hello world')
>> input() 함수로 입력된 숫자는 문자로 인식하기 때문에, 숫자로 바꾸어 주어야 함

str_1 = 'helloworld'
for i in str_1:
   print(i)
h
e
l
l
o
w
o
r
l
d

<반복문 while>

  • 조건식이 false가 될 때까지 무한 실행
  • true라면 계속 실행하고 false가 되면 즉시 while문 종료
while 조건식:
		반복할 코드
i = 0
while i < 10:
   print('Hello world')
   i = i + 0.1
>> i는 0인데, 0.1씩 계속 더했을 때, i가 10보다 작으면 'Hello world'를 출력

**<for문을 while문으로 변경>**
count = input('반복 횟수를 입력하세요:')
for i in range(int(count)):
    print('Hello world')

count = input('반복 횟수를 입력하세요:')
i = 0
while i < int(count):
    print('Hello world')
    i = i + 1

# 무한루프
while True(=1, 문자열):
    print('무한반복')

<반복문 중단 break>

i = 0
for i in range(30):
    print(i)
    if i == 10:
        break
0
1
2
3
4
5
6
7
8
9
10
>> i는 0인데, 30까지 반복문을 실행할 것임. for 조건문 실행 중, i가 10이 되면 반복문 중단

<반복문 건너뛰기 continue>

for i in range(10):
    if i % 2 == 0:
        continue
    print(i)
1
3
5
7
9
>> i는 0~10까지 인데, i를 2로 나누었을 때 나머지가 0으로 나오면 건너뛰고 그 이외에는 출력

<응용: 고객 정보 입력 프로그램>

  • 메뉴를 여러 번 물어보도록 수정
  • 메뉴를 선택하면 중단하도록 프로그래밍
고객정보 = list()
while True: # 무한루프
    메뉴 = input('''
            다음 중에서 할 일을 고르시오:
            I - 고객 정보 조회
            C - 현재 고객 정보 조회
            P - 이전 고객 정보 조회
            N - 다음 고객 정보 조회
            U - 고객 정보 수정
            D - 고객 정보 삭제
            Q - 프로그램 종료)
            ''')
    if 메뉴 == 'i':
        print('고객 정보 입력')
        이름 = input('이름을 입력하세요.')
        성별 = input('성별을 F,M으로 입력하세요.')
        출생년도 = input('출생년도를 입력하세요.')
        지역 = input('지역 정보를 입력하세요.')
        고객 = {
                '이름': 이름,
                '성별': 성별,
                '출생년도': 출생년도,
                '지역': 지역
                } # { }는 딕셔너리
        고객정보.append(고객)
# 딕셔너리.append(): 선택한 요소의 내용 끝에 내용 추가
    elif 메뉴 == 'c' or 'C':
        print('현재 고객 정보 조회')
    elif 메뉴 == 'p' or 'P':
        print('이전 고객 정보 조회')
    elif 메뉴 == 'u' or 'U':
        print('고객 정보 수정')
    elif 메뉴 == 'd' or 'D':
        print('고객 정보 삭제')
    elif 메뉴 == 'q' or 'Q':
        print('프로그램 종료')
        print(고객정보)
        break
    else:
        print('선택하신 메뉴가 없습니다.')