IFP 겨울방학 스터디(Unit 14)

else 사용하기

  • else는 if 조건문 뒤에 오며 단독으로 사용할 수 없다.
  • else도 if문처럼 콜론(:)을 뒤에 붙여서 사용한다.
  • if와 마찬가지로 들여쓰기로 구분한다.
구조)
if 조건식:
     코드1
else:
     조건이 안맞을 경우에 실행 되는 코드
예)
x = 3
if x == 4:
    print('x는 4입니다.')
else:
    print('x는 3입니다.')

x는 3입니다.


14.5 퀴즈

  • 다음 중 if 조건문에 대한 설명으로 올바른 것을 고르세요.
  1. if의 코드는 조건식이 만족하지 않을 때 실행된다.
  2. else의 코드는 조건문이 참일 때 실행된다.
  3. else는 단독으로 사용할 수 없다.
  4. else에서 실행되는 코드는 다음 줄에서 들여쓰기를 하지 않아야 한다.
  5. if는 항상 else가 있어야 한다.

답) 3
풀이) else는 if문 뒤에 오며 단독으로 사용할 수 없다.

  • 다음 if, else 조건문에서 잘못된 부분을 모두 고르세요.
a. if x >= 10:
b. print('x에 들어있는 값은')
c.    print('10 이상입니다.')
d. else
e.    print('x에 들어있는 값은')
f.    print('10 미만입니다.')

답) b, d
풀이)
b - 들여쓰기를 하지않았다.
d - else문 뒤에 콜론(:)을 붙이지 않았다.

  • 다음 코드의 출력 결과를 입력하세요.
if not '':
    print(True)
else:
    print(False)

정답) True
풀이) 빈 문자열('')은 거짓이지만 앞에 not이 붙어 값이 반대로 뒤집혀서 답은 True이다.

  • 다음 중 if에서 조건식을 여러 개 지정하는 방법으로 올바른 것을 모두 고르세요(x와 y는 변수).
  1. if x == 10 & y == 20:
  2. if x == 10 or y == 20:
  3. if x == 10 not y == 20:
  4. if x == 10 | y == 20:
  5. if x and y:

정답) 2, 5
풀이)
2, 5 - 논리 연산자(and, or)를 사용해 조건식을 여러개 지정할 수 있다.

  • 다음 소스 코드를 실행했을 때 출력 결과로 올바른 것을 고르세요.
x = 5
if x % 2 == 0:
    print('짝수')
else:
    print('홀수')
  1. 홀수
  2. 짝수
  3. 2
  4. 4
  5. 아무것도 출력되지 않는다.

정답) 홀수
풀이) 5는 나머지가 1 이기 때문에 else문이 동작하고 홀수가 출력된다.

14.6 연습문제: 합격 여부 판단하기

  • A 기업의 입사 시험은 필기 시험 점수가 80점 이상이면서 코딩 시험을 통과해야 합격이라고 정했습니다(코딩 시험 통과 여부는 True, False로 구분). 다음 소스 코드를 완성하여 '합격', '불합격'이 출력되게 만드세요.
written_test = 75
coding_test = True
①   written_test           coding_test        :
    print('합격')
else:
    print('불합격')
실행결과) 불합격

정답)
if written_test>=80 and coding_test == True:
풀이) 
두 가지 조건을 모두 만족해야하므로 and를 사용해서 작성한다.

14.7 심사문제:

  • 표준 입력으로 국어, 영어, 수학, 과학 점수가 입력됩니다. 여기서 네 과목의 평균 점수가 80점 이상일 때 합격이라고 정했습니다. 평균 점수에 따라 '합격', '불합격'을 출력하는 프로그램을 만드세요(input에서 안내 문자열은 출력하지 않아야 합니다). 단, 점수는 0점부터 100점까지만 입력받을 수 있으며 범위를 벗어났다면 '잘못된 점수'를 출력하고 합격, 불합격 여부는 출력하지 않아야 합니다.
8줄 작성
예) 
입력 : 89 72 93 82
결과 : 불합격
입력 : 100 79 68 71
결과 : 합격
입력 : 99 85 101 90
결과 : 잘못된 점수

정답) 
a, b, c, d = map(int, input().split())
if  0 <= a <=100 and 0 <= b <=100 and 0 <= c <=100 and 0 <= d <=100:
    if (a + b + c +d)/4 >= 80:
         print('합격')
    else:
            print('불합격')
else:
    print('잘못된 점수')
풀이) 
입력받은 값이 정수 값을 가진 변수 4가지를 선언하고 그 값들이 0~100사이 값을 가져야하는 조건식을 작성하고 else문을 써서 만약 0~100사이 값이 아니면 '잘못된 점수'를 출력한다.
만약 0~100사이 값이면 평균 값을 구해서 그 값이 80이상의 조건식을 만들어 만족하면 
'합격'출력 만족하지 못하면 '불합격'을 출력한다.

좋은 웹페이지 즐겨찾기