맛동산

파이썬 제어문_while문 본문

파이썬/기초

파이썬 제어문_while문

오지고지리고알파고포켓몬고 2016. 10. 6. 18:12

앞으로 나올 while과 for 제어문은 반복문임. 반복문이 무엇이냐면 1+2+3+4+...+100처럼 단순하고 반복되는 작업을 일일이 쓰는것이 오래걸리기 때문에 간단하게 줄일 수 있도록 만든 문법임

 

while역시 들여쓰기로 구분하여야하며 조건과 수행할 문장으로 나뉘는데 기본 문법은 아래와 같음

if문과 마찬가지로 조건이 참(True)이면 수행하고 거짓(False)면 반복을 멈춤

 

a=1

sum=0

while a<101:

sum = sum + a

a = a + 1

 

순서대로 설명하자면 a=1이고 sum=0임. -> 조건에 사용할 변수와 덧셈에 필요한 변수 선언

이제부터 반복문을 수행할건데 a가 101보다 작은동안(즉, 정수를 기준으로 100까지) 수행할거임 -> 조건문

sum은 sum에 a를 더하고 a는 a에 1을 더할것임 -> 수행할 문장

고로      0 = 0 + 1(sum = sum + a -> sum=1) // 1 = 1 + 1(a = a + 1 -> a=2)

1 = 1 + 2(sum = sum + a -> sum=3) // 2 = 2 + 1(a = a + 1 -> a=3)

.

.

.

sum = sum + 100을 수행하고 a = 100 + 1을 지나면 a<101의 조건이 False가 되므로

1부터 100까지의 덧셈을 수행하게 됨.

 

다음은 while과 if문을 사용하여 자판기 프로그램을 작성해봄

 

 

 

coffee는 자판기에 남은 커피 수량을 나타냄(실제로라면 메뉴별로 수량을 놔야함)

money는 넣을 돈을 뜻하는 것으로 input()함수가 C의 scanf, JAVA의 scanner.in역할을 함

moca, cocoa는 해당 메뉴의 가격을 뜻함

 

1. 수량이 남아있다면(coffee>=1) 메뉴를 선택할 수 있음

2. 모카를 선택하고 모카 가격보다 돈이 많아야 커피를 뽑을 수 있음(choice==1 and money>=moca)

3. 코코아 역시 마찬가지고 남은 수량과 돈이 차감됨(coffee=coffee-1, money=money-cocoa)

4. 두 조건을 만족하지 못하는 경우, 즉 돈이 부족할 경우 돈이 부족하다는 메세지를 출력.(money<cocoa or money<moca)

5. 1과 2 이외의 것을 입력했다면 다시 반복문의 처음으로(continue)

6. 잔돈을 표시하고 계속 구매할것인지 확인(choice=='q')

7. 1로 돌아감, 수량이 없다면 반복문을 종료(break)

 

 

다음은 whlie계의 hello world. 고전중에 고전인 별 쌓기를 해봄

 

 

C나 JAVA에선 이중 반복문으로 *을 출력했던 것 같은데 파이썬은 문자열에 곱셈이 가능하여 수월한 코딩이 가능함.

물론 while stari<6으로 조건문을 준다면 if가 포함된 2줄까지 절약할 수 있음.

 

하는김에 나무만들기까지.

 

'파이썬 > 기초' 카테고리의 다른 글

파이썬 함수_이론  (0) 2016.10.06
파이썬 제어문_for문  (0) 2016.10.06
파이썬 제어문_IF문  (0) 2016.10.06
파이썬 자료형_집합 자료형  (0) 2016.10.06
파이썬 자료형_딕셔너리  (0) 2016.10.06
Comments