[3일차] 파이썬 기초 8

하은·2023년 10월 16일
0

- 다자택일 조건문

여러 가지 조건에 대해 하나를 선택하는 조건문

- if ~ elif문 : 여러가지 조건식 결과에 따라 실행문이 결정됨

  • else문은 생략가능
exampleScore = int(input('시험 성적 입력:'))
grades = ''

if exampleScore >= 90:
    grades = 'A'
elif exampleScore >= 80:
    grades = 'B'
elif exampleScore >= 70:
    grades = 'C'
elif exampleScore >= 60:
    grades = 'D'
else:
    grades = 'F'

print('성적: {} \t 학점: {}'.format(exampleScore, grades))

-->
시험 성적 입력:50
성적: 50 	 학점: F

실습) 계절을 입력하면 영어로 번역되는 프로그램을 만들어보자

print('계절 : 봄, 여름, 가을, 겨울')
seasonStr = input('계절 입력 : ')

if seasonStr == '봄':
    print('{} : {}'.format('봄', 'Spring'))
elif seasonStr == '여름':
    print('{} : {}'.format('여름', 'Summer'))
elif seasonStr == '가을':
    print('{} : {}'.format('가을', 'Fall'))
elif seasonStr == '겨울':
    print('{} : {}'.format('겨울', 'Winter'))
else:
    print('검색할 수 없습니다.')
    
-->
계절 : 봄, 여름, 가을, 겨울
계절 입력 : 봄
봄 : Spring

실습) 키오스크에서 메뉴를 선택하면 영수증이 출력되는 프로그램을 만들어보자

print('1.카페라떼(3.5) \t 2.에스프레소(3.0) \t 3.아메리카노(2.0) \t 4.곡물라떼(4.0) \t 5.밀크티(4.3)')
userSelectNumber = int(input('메뉴 선택: '))

print('-' * 25)
if userSelectNumber == 1:
    print('메뉴 : 카페라떼')
    print('가격 : 3,500원')
elif userSelectNumber == 2:
    print('메뉴 : 에스프레소')
    print('가격 : 3,000원')
elif userSelectNumber == 3:
    print('메뉴 : 아메리카노')
    print('가격 : 2,000원')
elif userSelectNumber == 4:
    print('메뉴 : 곡물라떼')
    print('가격 : 4,000원')
elif userSelectNumber == 5:
    print('메뉴 : 밀크티')
    print('가격 : 4,500원')
print('-' * 25)

-->

1.카페라떼(3.5) 	 2.에스프레소(3.0) 	 3.아메리카노(2.0) 	 4.곡물라떼(4.0) 	 5.밀크티(4.3)
메뉴 선택: 3
-------------------------
메뉴 : 아메리카노
가격 : 2,000원
-------------------------

- 다자택일(if ~ elif) 조건문 사용시 주의할 점

- 조건식 !순서! 가 중요하다

  • 다중선택을 할 때는 위에서부터 적용되기 때문에

X

exampleScore = int(input('시험 성적 입력:'))
grades = ''

if exampleScore >= 70:
    grades = 'C'
elif exampleScore >= 90:
    grades = 'A'
elif exampleScore >= 80:
    grades = 'B'
elif exampleScore >= 60:
    grades = 'D'
else:
    grades = 'F'

print('성적: {} \t 학점: {}'.format(exampleScore, grades))

- 또는 조건을 명확하게 명시해주면 된다.

  • 논리연산자로 왼쪽과 오른쪽이 모두 True여야 실행되도록

O

exampleScore = int(input('시험 성적 입력:'))
grades = ''

if exampleScore >= 70 and exampleScore < 80:
    grades = 'C'
elif exampleScore >= 90:
    grades = 'A'
elif exampleScore >= 80 and exampleScore < 90:
    grades = 'B'
elif exampleScore >= 60 and exampleScore < 70:
    grades = 'D'
else:
    grades = 'F'

print('성적: {} \t 학점: {}'.format(exampleScore, grades))

실습) 자동차 배기량에 따라 세금을 부과한다고 할 때, 다음 표를 보고 배기량을 입력하면 세금이 출력되는 프로그램을 만들어보자

carDisplacement = int(input('자동차 배기량 입력 : '))

if carDisplacement < 1000:
    print('세금 : 100,000원')
elif carDisplacement < 2000 and carDisplacement >= 1000:
    print('세금 : 200,000원')
elif carDisplacement < 3000 and carDisplacement >= 2000:
    print('세금 : 300,000원')
elif carDisplacement < 4000 and carDisplacement >= 3000:
    print('세금 : 400,000원')
elif carDisplacement < 5000 and carDisplacement >= 4000:
    print('세금 : 500,000원')
elif carDisplacement >= 5000:
    print('세금 : 600,000원')

- 중첩 조건문

- 조건문 안에 또 다른 조건문이 있을 수 있다.

너무 많은 조건문이 중첩돼있을 때는, 코드이해에 어려움이 있을 수 있고, 논리적 오류가 발생할 수 있기 때문에 3~4단계의 중첩문은 사용X

exampleScore = int(input('시험 점수 입력: '))

if exampleScore < 60:
    print('재시험 대상입니다.')
else:
    if exampleScore >= 90:
        print('A')
    elif exampleScore >= 80:
        print('B')
    elif exampleScore >= 70:
        print('C')
    elif exampleScore >= 60:
        print('D')

실습) 출퇴근시 이용하는 교통수단에 따라 세금을 감면해주는 정책을 세우려고 한다. 다음 내용에 맞게 프로그램을 만들어보자.

selectNum = int(input('출퇴근 대상자 인가요? 1. Yes \t 2.No'))

if selectNum == 1:
    print('교통수단을 입력하세요.')
    trans = int(input('1. 도보,자전거  2. 버스,지하철  3. 자가용'))

    if trans == 1:
        print('세금 감면 : 5%')
    elif trans == 2:
        print('세금 감면 : 3%')
    elif trans == 3:
        print('추가 세금 : 1%')
elif selectNum == 2:
    print('세금 변동 없습니다.')
else:
    print('잘못 입력했습니다.')

반복문

- 반복문이란?

- 반복문이란 특정실행을 반복하는 것

- 반복문을 사용하면 프로그래밍이 간결하고 유지보수가 쉽다.

  • 대량메일 또는 문자 발송
  • 인사말 반복
  • mp3 반복 재생
  • 구구단 출력
  • 팩토리얼(4! = 24 = 123*4)
  • 매일 아침 기상 알람
  • 영어 단어 반복학습 도구
  • 게임 반복 실행(처음으로 돌아오는)
  • 타이머

= 일상생활, 수학적으로 많이 쓰이는 구문이다

- 반복문 사용의 이유

간단히, 손쉽게 프로그램을 만들기 위해

print('{} * {} = {}'.format(2, 1, (2 * 1)))
print('{} * {} = {}'.format(2, 2, (2 * 2)))
print('{} * {} = {}'.format(2, 3, (2 * 3)))
print('{} * {} = {}'.format(2, 4, (2 * 4)))
print('{} * {} = {}'.format(2, 5, (2 * 5)))
print('{} * {} = {}'.format(2, 6, (2 * 6)))
print('{} * {} = {}'.format(2, 7, (2 * 7)))
print('{} * {} = {}'.format(2, 8, (2 * 8)))
print('{} * {} = {}'.format(2, 9, (2 * 9)))

# 또는

for i in range(1, 10):
    print('{} * {} = {}'.format(2, i, (2 * i)))
print('{}선수한테 메일 발송!'.format('박찬호'))
print('{}선수한테 메일 발송!'.format('박세리'))
print('{}선수한테 메일 발송!'.format('박지성'))
print('{}선수한테 메일 발송!'.format('김연경'))
print('{}선수한테 메일 발송!'.format('이승엽'))

# 또는

players = ['박찬호', '박세리', '박지성', '김연경', '이승엽']
for player in players:
    print('{}선수한테 메일 발송!'.format(player))

데이터만 관리해주면 직접 코딩하지 않아도 손쉽게 가능하다.

- 반복의 종류

횟수와 조건에 의한 반복은, 사용방법과 의미가 약간 다르다

- 횟수에 의한 반복

  • 횟수 지정 -> 횟수만큼 반복 실행

예) 회원 100명한테 메일 발송

for i in range (100):
	print('i -> {}'.format(i))

0 ~ 99까지 100회 반복하며 실행하는 것

- 조건에 의한 반복

  • 조건 지정 -> 조건에 만족할 때까지 반복 실행
  • 조건에 맞지 않는 경우에는, 반복문을 빠져나와서 종료

예) 실내온도 26도까지 에어컨 작동

num = 0
while (num < 10):
	print('num -> {}'.format(num))
    num += 1

= 에어컨 가동해서 실내온도가 점점 떨어져, 26도 아래로 내려가면 작동중지

0개의 댓글