본문 바로가기
정보

인공지능 활용을 위한 파이썬 기초_02 조건문 : 진실! 혹은 거짓?

by 모오오어 2020. 9. 18.
반응형
SMALL

 

 

 

02 조건문 : 진실! 혹은 거짓?

컴퓨터가 특정 조건에 따라 작업을 하게 시키려면 어떻게 해야 할까요?

파이썬의 가장 기본 '조건문'에 대해서 배워 봅니다.

 

 

 

반갑다 주인! 나는 앵무새!

지난시간에 print()  출력을 배웠다면, 이번 시간에는 입력을 다뤄봅시다.

입력은 컴퓨터에게 정보를 전달해주는 것을 의미합니다.

기존에 우리가 코드를 작성하여 컴퓨터에게 '명령'만을 전달했다면,

이제는 이에 '추가정보'를 주어 그 정보를 이용하여 명령을 수행할 수 있습니다.

입력과 출력을 이용해서 입력 받은 값을 그대로 출력하는 앵무새 프로그램을 만들어봅시다.

자료형을 변환해봅시다!

input()은 입력받은 값을 문자열(string)으로 인식합니다.

하지만 숫자를 입력 받아 일련의 숫자 연산을 해야하는 경우가 많기 때문에,

입력받은 자료를 형변환해줄 필요가 있습니다.

변환을 해주기 위해서는

int("345")

와 같이 형변환할 문자열 자료인 345 정수 자료형의 이름으로 감싸주면 됩니다.


E 은행의 2배로 적금은 초기 예치금의 정확히 2배만큼 돈을 돌려준다고 합니다. 초기 예치금을 입력으로 줄 때, 혜자 적금으로 받을 수 있는 돈을 출력해봅시다.

input은 문자열로 출력되므로 숫자로 변환하려면 int(input())을 해야한다.

 

 

비교 연산자 활용하기

비교 연산자는 두 자료를 비교하는 연산자입니다. 비교 연산자를 사용하면, 컴퓨터는 그 값의 결과에 따라 우리에게 True 혹은 False를 반환합니다.

예를 들어,

3 == 5

라는 비교 연산자가 쓰인 명제가 있을 때, 숫자 3과 숫자 5는 엄연히 다른 수이므로 거짓, 즉 False를 반환하게 됩니다.


오른쪽 변수 3개에 주어진 조건을 만족하는 명제를 넣어봅시다.

 

논리 연산자 활용하기

논리 자료형을 연산하는 방법엔 AND, OR, NOT 등이 있습니다.

 

  1. AND - and

모든 논리가 True면 True, 아닐 시 False

  1. OR - or
    논리 중 True가 존재하면 True, 아닐 시 False

  2. NOT - not
    논리를 뒤집는 연산자


오른쪽 실습에서 논리 연산자 사이에 하나의 명제가 빠져있습니다. 원하는 논리(True/False)가 나오도록 빠진 부분을 채워넣어주세요!

 

만약 ~라면 if, 아니라면 else!

조건을 만족해주는 경우의 명령은 if문을 통해 전달해줄 수 있고, 만족하지 못하는 경우에는 else문에 원하는 명령을 적어주면 됩니다.

다음과 같은 상황일 때, 조건을 만족하면 A를, 그렇지 못하다면 B를 실행합니다. 이때, else는 if문에 해당하지 않는 경우를 의미하므로, 반드시 if문과 함께 쓰여야합니다!


if-else문을 이용해서 어떤 수를 입력했을 때, 이 수가 홀수인지 짝수인지 구분하는 프로그램을 작성해봅시다.

어떤 수를 2로 나눈 나머지의 값을 이용해 그 수가 홀수인지 짝수인지 알 수 있습니다.

input은 '문자열'로 출력되므로 ->int(input())

else문 뒤에는 조건을 쓰지 않는다.

 

A는 아니지만 B라면? elif!

우린 삶에서 짜장면은 싫지만, 짬뽕은 먹고 싶은 경우가 있습니다. 이러한 경우에는 어떻게 조건문을 세워주면 될까요? 이럴 때는 elif를 사용해주면 됩니다! elif는 else if의 약어로,
아닌 것중에 만약~ 의 조건을 세워주는 역할을 합니다.


한 사람이 어떤 수를 생각하고, 다른 사람이 이 수를 예측할때, 생각한 수보다 크면 더 크다, 작으면 더 작다는 정보를 주어 생각한 수를 맞추게 하는 게임을 업-다운 게임이라고 합니다.

if-elif-else문을 이용해서 업-다운 게임을 구현해봅시다.

 

한 자리수, 두 자리수, 세 자리수! 구분할 수 있나요?

1~999까지의 숫자 중 하나가 입력될 때,

  • 1자리(1~9)이면 "한 자리 숫자입니다."
  • 2자리(10~99)이면 "두 자리 숫자입니다."
  • 3자리(100~999)이면 "세 자리 숫자입니다." 를 출력해봅시다.

 

하늘에서 A+가 빗발칩니다!

코더랜드에 있는 E대학의 J교수님은 학점을 잘 주시는 것으로 유명합니다.

이 교수님은 시험 점수가 77점 이상이면 학생에게 A0(숫자 0)를 주시고, 88점 이상이면 A+를 부여합니다.

단, 이 교수님은 성의가 없는 학생을 싫어하셔서 시험 점수가 0점인 학생에게 가차없이 F를 부여합니다. 위 경우에 모두 해당하지 않는 학생들에게는 전부 B+를 부여합니다.

어떤 학생의 시험 점수가 입력되면 이 학생의 학점을 출력하는 프로그램을 작성해봅시다.

Tip!

범위가 작은 조건부터 세워가면서 문제를 풀어나가는 게 좋아요!

 

반응형
LIST

댓글