일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 배열
- ubuntu
- Framework
- Judge
- 파이썬
- MongoDB
- Java
- 프레임워크
- mariadb
- Tornado
- OrientDB
- 설치
- Python
- 연결
- 연동
- 저지
- 이클립스
- API
- BAEKJOON
- 자료형
- spring
- online
- 오픈한글
- 자바스크립트
- AWS
- r script
- 토네이도
- 알고리즘
- r
- 백준
- Today
- Total
맛동산
파이썬 제어문_while문 본문
앞으로 나올 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 |