관리 메뉴

6. 파이썬(Python) 반복문1(while) 본문

Python/Python 기본 개념

6. 파이썬(Python) 반복문1(while)

ª_ª 2017. 8. 24. 10:04
728x90
반응형


while 이란?

while문은 반복문(loop-control statements)의 한 종류입니다. 프로그램 내의 특정한 부분을 지정한 조건이 만족할 때까지 반복 수행하도록 하는 제어 구조입니다. , 제어문 안에 반복문이 존재합니다.

 

1. while문 기본 구조


while 조건문:

조건에 만족하는 문장1

조건에 만족하는 문장2

조건에 만족하는 문장3

조건에 만족하는 문장4

......

 

while문은 조건문이 참인 동안에 while문 안에 속하는 문장들을 거짓이 될 때 까지 반복해서 수행합니다.

 

“1부터 10까지 숫자를 출력 하세요

>>> i = 0

>>> while i<10:

i = i+1

print("i = %d 입니다." %i)


i = 1 입니다.

i = 2 입니다.

i = 3 입니다.

i = 4 입니다.

i = 5 입니다.

i = 6 입니다.

i = 7 입니다.

i = 8 입니다.

i = 9 입니다.

i = 10 입니다.

 

2. 반복문에서 자주 사용하는 함수(input())

input() 함수는 사용자가 입력할 수 있게 만들어 주는 함수입니다. int(input())로 표현하면 사용자의 숫자의 입력을 받아들이는 것입니다. str(input())로 표현하면 사용자의 문자 혹은 문자열의 입력을 받아들이는 것입니다. input()함수에서 소괄호 안에는 문자열을 넣을 수 있습니다.


예를 들면 input(“입력: ”) 이런식으로 사용할 수 있습니다.  물론 ()안에 아무것도 안써도 상관 없습니다.

 

2.1 input() 함수 사용하기

>>> number = 0

>>> print(number)

0

>>> number = int(input("숫자 입력: "))

숫자 입력: 7

>>> print(number)

7

>>> number == 7

True

 

여기서 궁금증이 하나 생길 수 있습니다.

굳이 intinput()함수를 감쌀 필요가 있을까?

 

>>> number = 0

>>> print(number)

0

>>> number = input("숫자 입력: ")

숫자 입력: 7

>>> print(number)

7

>>> number == 7

False

 

결과가 False가 나왔습니다.

 

>>> number

'7’

 

이유는 number가 정수가 아닌 문자 형태로 저장되었기 때문입니다. , input() 함수는 기본 자료형이 문자라는 것을 알 수 있습니다.


>>> str = ""

>>> print(str)

                     # 공백입니다.

>>> str = input("입력 :")

입력 :Hello World

>>> str == "Hello World"

True 


str로 묶어도 되고 안 묶어도 무리 없이 사용 할 수 있습니다.


2.2 덧셈 뺄셈 계산기 만들어 보기(반복문과 input() 함수를 사용)

“1번은 덧셈 2번은 뺄셈 3번은 종료”(이 부분은 번호 입력만 확인하고 뒤로 가서 코드를 확장 시키겠습니다.)

>>> str1 = """

1. Add

2. Sub

3. Quit

"""

>>> while number != 3:

            print(str1)

            number = int(input("번호 입력: "))

 

1. Add

2. Sub

3. Quit

번호 입력: 1

 

1. Add

2. Sub

3. Quit

번호 입력: 2

 

1. Add

2. Sub

3. Quit

번호 입력: 3 


3. brek

break문은 반복문을 빠져나올 때 씁니다. 2.2에서 봤던 !=3이라는 조건을 사용할 수 있다면 상관없지만 저렇게 되면 중복되게 반복문을 빠져나오는 구문을 만 들 수 가없습니다. 그래서 break문을 사용해서 반복문을 빠져나오게 할 수 있습니다.

 

3.1 break문 사용하기

>>> str1 = """

1. Add

2. Sub

3. Quit

"""

>>> while True:

            print(str1)

            number = int(input("번호 입력: "))

            if number == 1:

                    pass

            elif number == 2:

                    pass

            elif number == 3:

                    print("종료")

                    break

            else:

                    print("잘못 입력하셨습니다.")


1. Add

2. Sub

3. Quit

번호 입력: 4

잘못 입력하셨습니다.

 

1. Add

2. Sub

3. Quit

번호 입력: 1

 

1. Add

2. Sub

3. Quit

번호 입력: 2

 

1. Add

2. Sub

3. Quit

번호 입력: 3

종료

 

2.2 예제에서는 while문에서 number !=3을 사용했습니다. 하지만 break문을 사용해서 종료시키게 만들었습니다.


3.2 덧셈 뺄셈 계산기 만들어 보기

“1번은 덧셈 2번은 뺄셈 3번은 종료

>>> str1 = """

1. Add

2. Sub

3. Quit

"""

>>> while True:

            print(str1)

            number = int(input("번호 입력: "))

            if number == 1:

                    print("덧셈")

                    num1 = int(input("첫번째 숫자 입력: "))

                    num2 = int(input("두번째 숫자 입력: "))

                    result = num1 + num2

                    print("%d + %d = %d" %(num1, num2, result))

            elif number == 2:

                    print("뺄셈")

                    num1 = int(input("첫번째 숫자 입력: "))

                    num2 = int(input("두번째 숫자 입력: "))

       result = num1 - num2

       print("%d - %d = %d" %(num1, num2, result))

elif number == 3:

        print("종료")

        break

else:

        print("잘못 입력하셨습니다.")

 

1. Add

2. Sub

3. Quit

번호 입력: 1

덧셈

첫번째 숫자 입력: 10

두번째 숫자 입력: 20

10 + 20 = 30

 

1. Add

2. Sub

3. Quit

번호 입력: 2

뺄셈

첫번째 숫자 입력: 10

두번째 숫자 입력: 20

10 - 20 = -10

 

1. Add

2. Sub

3. Quit

번호 입력: 4

잘못 입력하셨습니다.

 

1. Add

2. Sub

3. Quit

번호 입력: 3

종료

 

4. 무한 루프

무한 루프란 보는 바와 같이 무한적으로 반복한다는 의미입니다. 3.2 예제에서 살펴보면 (while True:)while문의 조건문이 True이므로 항상 참이 됩니다. , while 문 안에 있는 문장들은 계속적(무한)으로 수행하게 됩니다.

 

무한 루프를 빠져나올 때는 Ctrl + c를 누르면 됩니다.

 

>>> while True:

print("Ctrl + c를 누르면 무한루프가 종료 됩니다.")

 

Ctrl + c를 누르면 무한루프가 종료 됩니다.

Ctrl + c를 누르면 무한루프가 종료 됩니다.

Ctrl + c를 누르면 무한루프가 종료 됩니다.

Ctrl + c를 누르면 무한루프가 종료 됩니다.

Traceback (most recent call last):

File "<pyshell#157>", line 2, in <module>

print("Ctrl + c를 누르면 무한루프가 종료 됩니다.")

KeyboardInterrupt



if, while, for 연습문제 풀러 가기



728x90
반응형
Comments