[python]_제어문(1)_조건문(if, elif, else)

Hi K·2022년 10월 7일
0

파이썬기초

목록 보기
6/12

<< 제어문 >>

1. 조건문(if , elif, else)

주어진 조건을 판단하여 해당 조건이 참일 때와 거짓일 때에 맞는 명령문을 수행하는 것
▶ 기본 문법
if 조건문1 :
조건문1이 참일 때 실행할 문장1
조건문1이 참일 때 실행할 문장2
elif 조건문2 :
(조건문1이 거짓일 때 elif 블럭으로 이동)
조건문2가 참일 때 실행할 문장1
조건문2가 참일 때 실행할 문장2
조건문2가 참일 때 실행할 문장2
else :
조건문1, 조건문2가 모두 거짓일 때 실행할 문장1
조건문1, 조건문2가 모두 거짓일 때 실행할 문장2
=> elif, else는 상황에 따라 생략될 수 있다.
▶ 주의해야할 문법 :

  • 조건문 및 else 뒤에 반드시 콜론(:)을 써야 한다.
  • 조건문이 있는 문장 하위에 속하는 실행문장들은 반드시 한 번 들여쓰기 되어야 한다. ( 자동 / tab / space 4번)
  • 각 조건문이 참/거짓일 때 실행되는 문장이 무엇인지 알아야 한다.
  • else는 조건문을 작성하지 않는다.
    ▶ 조건문 : 참(True)과 거짓(False)으로 구분되는 문장
  • 비교 연산자를 사용한 조건문 : >, <, >=, <=, ==, !=
  • 값을 이용한 조건문 : 무조건 참, 무조건 거짓
  • 논리 연산자를 사용한 조건문 : and, or, not
  • IN 연산자를 사용한 조건문
    cf. True vs False
    - bool type : True, False 값의 타입
     

1. if ~else 조건문

  • 조건식 : 결과가 True 또는 False로 해석될 수 있는 명령어로 구성

  • 가장 기초적인 조건문

money = False

if money:
    print("책을 삽니다")
    
print("집에 왔습니다.")
  • if문 다음에 들여쓰기를 안하면 if문과 상관없이 동작한다

money = True

if money:
    print("책을 삽니다")
    
print("집에 왔습니다.")

  • else : if문이 만족하지 않았을때 동작한다
money = False

if money:
    print("책을 삽니다")
else: 
    print("책을 사지 못했습니다")

print("집에 왔습니다.")


(예제)
논리 연산자를 사용한 조건
아래에 if문을 활용해서 돈이 6000원 이상이면
"백반을 먹습니다" 를 띄워주는 구문을 작성하세요

money = 7000
if money >= 6000:
    print("백반을 먹습니다")

money = 1000 이니까
if money >= 6000: 는
if 1000 >=6000:는
if False:로 치환해서 생각한다
조건문이 길어질 때 이렇게 치환해서 생각하는게 도움이 된다

(예제2)
돈이 1000원 미만으로 있으면 "굶습니다"를 추가해주세요
if, elif를 쓰지 않고 추가해주세요

money = 100
if money >= 6000:   
    print("백반을 먹습니다")
elif money >= 1000:
    print('컵라면을 먹습니다')
else:
    print("굶습니다")


  • not 키워드를 이용해 논리연산자 뒤집기
money = 5000

if not money > 7000:
    print("컵라면을 먹습니다.")
else:
    print("제육볶음을 먹습니다")

  • in 키워드를 사용한 조건문
    경품에 당첨되었는지 물어보는 구문
reward = ['상범', '상효', '상철']

if ('상효' in reward):
    print("경품을 받습니다.")

미당참자는 "경품이 없습니다"라고 찍히도록 해주세요

if ('충재' in reward):
    print("경품을 받습니다.")
else: 
    print("경품이 없습니다")
    

2. elif 조건문

  • 개수에 제한이 없다.

  • 여러 개의 조건문이 존재할 경우 각각의 시작 조건은 별도로 작성하지 않아도 자동으로 생성된다.
    If <조건문1>:
    <수행할 문장1>
    <수행할 문장2>
    elif <조건문2>:
    <수행할 문장1>
    <수행할 문장2>
    elif <조건문3>:
    <수행할 문장1>
    <수행할 문장2>
    ... (원하는 만큼 elif문 작성 가능)
    else:
    <수행할 문장1>
    <수행할 문장2>

  • 주어진 정수가 양수인지 음수인지 0인지 판별하는 조건문

    만약 int를 변수로 지정한다면 어떤 문제가 생길까
     잘 저장되고 출력되는 것 같아 보이지만
int = 1
print(int)

x = int(input('문자로 저장됩니다'))
print(x)

  •  변수 int를 선언했기때문에 
     문자열을 정수형으로 바꿔주는 기존의 int가 기능을 잃어버려서
     에러가 난다.
     이런 경우 del로 삭제하면된다.
     
del int
x = int(input('문자로 저장됩니다'))
print(x)

(예제)
0과 음수를 판별할 수 있도록 코드를 완성시켜주세요.

integer = int(input('판별할 정수를 넣어주세요.'))
if(integer > 0):
    print('양수입니다')
elif (integer == 0):
    print('0입니다')
else:
    print('음수입니다')

profile
파이썬초짜의 기록

0개의 댓글