본문 바로가기
프로그래밍/Python

제어문 -조건문

by leestun 2020. 7. 16.
반응형

제어문: 프로그램의 흐름을 제어하는 문법

프로그램의 흐름은 위에서 아래, 왼쪽에서 오른쪽으로 간다.

 

제어문

-조건문

:조건에 의해서 명령을 실행할지, 실행하지 않을지 흐름을 제어하는 문법

-반복문

:조건에 의해서 명령을 반복할지, 반복하지 않을지 제어하는 문법


[조건문]

조건에 의해서 명령을 실행할지 말지를 정하는 문법

-if문

:만약 ~라면, 실행해라

 

<구조>

if 조건식:

    조건식이 참일때 실행할 명령1

    조건식이 참일때 실행할 명령2


<실습> if문1.py

 

pass: 문법사용시 잠깐 코드 비워두고 싶을 때

 

#성인검사

사용자한테 나이를 입력받아 20살 이상이면 성인입니다를

그게 아니라면 미성년자입니다를 출력하도록 구현하시오

 

 

#성인검사

age = int(input('나이: '))

if age>=20:

    print('성인입니다')

else: print('미성년자입니다.')

 

*else는 바로 위에 오는 조건식만 부정한다

 

if 조건1:

    조건1이 참일때 실행할 명령

elif 조건2:

    조건1이 거짓이면서 조건2가 참일때 실행할 명령

else:

    조건2가 거짓일때 실행할 명령


<실습>신호등.py

day03에 했던 신호등.py의 step2 if문을 사용해 구현하기

사용자에게 신호를 받아

빨간불:정지

초록불:출발

노란불: break밟기

모든 경우가 아닐땐: 잘못입력하셧습니다.

를 출력하는 프로그램

 

#신호등.py

print('------신호등 프로그램-------')

print('빨간불:1, 초록불:2, 노란불:3')

sign = int(input('신호: '))

if sign == 1:

    print('정지')

elif sign == 2:

    print('출발')

elif sign == 3:

    print('break 밟기')

else:

    print('잘못입력하셧습니다')


<실습> 괴물월드컵.py

포켓몬

-피카츄

-꼬북이

-파이리

 

디지몬

-아구몬

-파닥몬

-스팅몬

 

롤 챔피언 선택

-아리

-럭스

-베인

 

#괴물월드컵.py

print('♣♣♣♣괴물월드컵♣♣♣♣')

print('1. 포켓몬')

print('2. 디지몬')

print('3. 롤 챔피언')

choice = int(input('선택:'))

if choice == 1:

    print('-------포켓몬-------')

    print('1) 피카츄')

    print('2) 꼬부기')

    print('3) 파이리')

    pokemon = int(input('포켓몬 선택:'))

    if pokemon == 1:

        print('피카츄 선택!')

    elif pokemon == 2:

        print('꼬부기 선택!')

    elif pokemon == 3:

        print('파이리 선택!')

    else:

        print('잘못입력하셧습니다')

elif choice == 2:

    print('-------디지몬-------')

    print('1) 아구몬')

    print('2) 파닥몬')

    print('3) 스팅몬')

    digimon = int(input('디지몬 선택:'))

    if digimon == 1:

        print('아구몬 선택!')

    elif digimon == 2:

        print('파닥몬 선택!')

    elif digimon == 3:

        print('스팅몬 선택!')

    else:

        print('잘못입력하셧습니다')

elif choice == 3:

    print('-------롤 챔피언-------')

    print('1) 아리')

    print('2) 럭스')

    print('3) 베인')

    lol = int(input('롤 챔피언 선택:'))

   if lol == 1:

        print('아리 선택!')

    elif lol == 2:

        print('럭스 선택!')

    elif lol == 3:

        print('베인 선택!')

    else:

        print('잘못입력하셧습니다')

else:

    print('잘못입력하셧습니다')

 


카페 프로그램

 

프로그램 설계

프로그램이 어떤 흐름으로 돌아가야하는지 구상

 

알고리즘 :문제를 해결하기 위한 절차적인 과정

 

ex) 문제: 배가고파 라면이 먹고싶다

1) 냄비에 물넣기

2) 물끓이기

3) 스프 넣기

4) 면 넣기

5) 계란 넣기

6) 3분 기다리기

7) 불 끄기

8) 먹기

문제해결상태: 라면을 먹는 것

---------------------------------------------------------

프로그램 설계시 작성 알고리즘

 

컴퓨터가 내가 원하는 기능을 실행하기 위해 해야하는 절차적인 과정

-----------------------------------------------------------

<실습>카페1.py

 

#카페1.py

print('********Hello Cafe***********')

print('1. 주문하기')

print('2. 취소하기')

print('3. 결제하기')

print('4. 끝내기')

sc = int(input('선택: '))

if sc == 1:

    print('--------주문하기--------')

    print('********Menu********')

    print('1. 아메리카노\t3800원')

    print('2. 카페라떼\t4200원')

    print('3. 아이스티\t3000원')

    print('4. 바닐라쉐이크\t5200원')

    print('5. 버블티\t6100원')

    print('*********************')

    # 메뉴선택

    num = int(input('주문번호: '))

    pass

elif sc == 2:

    print('--------취소하기--------')

elif sc == 3:

    print('--------결제하기--------')

elif sc == 4:

    print('--------끝내기--------')

else: print('잘못입력하셧습니다.')

 

카페 프로그램

1.기능이 어떤 것이 있을까?

1) 주문하기

2) 취소하기

3) 결제하기

4) 끝내기

-------------------

2. 상세기능 구현 - 알고리즘

1) 주문하기

-메뉴출력

-메뉴선택

-장바구니 추가

-총 금액에 누적

-------------------

2) 취소하기

-장바구니에 있는 메뉴 출력

-취소할 메뉴 입력

-장바구니에서 취소할 메뉴 제거

-총 금액에서 취소할 메뉴 금액 차감

-------------------

3) 결재하기

-총 결제해야할 금액 출력

-지불할 금액 입력

-총 금액 <= 지불할금액

                  잔돈 출력

                  장바구니 비워주기

 

총 금액 =0원 -총 금액>지불할금액

                 금액부족 계산실패

-------------------

 

4) 끝내기

 

반응형

'프로그래밍 > Python' 카테고리의 다른 글

제어문-for문  (0) 2020.07.21
제어문-반복문  (0) 2020.07.18
연산자  (0) 2020.07.15
변수, 자료형, 메서드  (0) 2020.07.14
주석, 출력함수, 변수  (0) 2020.07.14