본문 바로가기
KDT/Python

제어문1 - 조건문

by jhwannabe 2023. 3. 7.

1. 조건문

  • 프로그램의 흐름을 제어하는 문장
    • 조건문
    • 반복문 ☆☆
if 조건식1(결과가 True 또는 False가 나오는 문장):
  조건식1이 True인 경우 실행할 문장
  ...
elif 조건식2(결과가 True 또는 False가 나오는 문장):
  조건식2이 True인 경우 실행할 문장
  ...
else:
  조건식이 모두 False인 경우 실행할 문장
  ...

비교 연산자

  • <, >, <=, >=, ==, !=
  • 항상 결과는 bool형으로 반환
print(10 > 5)
print(10 < 5)
print(10 >= 5)
print(10 <= 5)
print(10 == 5)
print(10 != 5)

 

If 문

if 조건식(결과가 True 또는 False가 나오는 문장):
  조건식이 True인 경우 실행할 문장
  ...
bool1 = True
if bool1:
  print('결과는 참입니다')
print('프로그램을 종료합니다')


bool2 = False
if bool2:
  print('결과는 참입니다')
print('프로그램을 종료합니다')
age = int(input('나이를 입력하세요: '))

if age > 19:
  print('성인입니다')

print('입력한 나이: ', age, '세')

if - else 문

if 조건식(결과가 True 또는 False가 나오는 문장):
  조건식이 True인 경우 실행할 문장
  ...
else:
  조건식이 False인 경우 실행할 문장
  ...
age = int(input('나이를 입력하세요: '))

if age > 19:
  print('성인입니다')
else:
  print('미성년입니다')

print('입력한 나이: ', age, '세')

if - elif - else 문

if 조건식1(결과가 True 또는 False가 나오는 문장):
  조건식1이 True인 경우 실행할 문장
  ...
elif 조건식2(결과가 True 또는 False가 나오는 문장):
  조건식2가 True인 경우 실행할 문장
  ...
elif 조건식3(결과가 True 또는 False가 나오는 문장):
  조건식3이 True인 경우 실행할 문장
  ...
else:
  모든 조건식이 False인 경우 실행할 문장
  ...
  
  > else는 필수 문장이 아니다
age = int(input('나이를 입력하세요: '))

if age > 19:
  print('성인입니다')
elif age > 14:
  print('청소년입니다')
elif age > 6:
  print('어린이입니다')
elif age > 0:
  print('유아입니다')
else:
  print('입력을 확인하세요')

print('입력한 나이: ', age, '세')

산술 연산자

+, -, *, /, %,**, //

print(10 + 3)
print(10 - 3)
print(10 * 3)
print(10 / 3)
print(10 % 3)
print(10 // 3)
print(10 ** 3)

삼항 연산자

결과가 True일 때 실행할 문장 if 조건식 else 결과가 Flase일 때 실행할 문장
num = int(input('숫자를 입력하세요: '))

print('짝수') if num % 2 == 0 else print('홀수')

문제 1

  • 국어, 영어, 수학 점수를 입력받아 총점, 평균, 학점을 구하는 프로그램을 작성해보자.
  • 단, 학점은 평균 기준이며 90점 이상은 A, 80점 이상은 B, 70점 이상은 C, 60점 이상은 D, 나머지는 F
kor, eng, math = input('국어, 영어, 수학 점수를 입력하세요: ').split()
kor = int(kor)
eng = int(eng)
math = int(math)
sum = kor + eng + math
avg = sum / 3

print('총점: ', sum, '점')
print('평균: %.1f점' % avg)

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

print('학점: ', grad)

문제 2

  • 숫자를 입력받아 2의 배수인지, 3의 배수인지 아니면 2, 3의 배수가 모두 아닌지를 판별하는 프로그램을 작성해보자.
num = int(input('숫자를 입력하세요: '))

if num % 2 == 0:
  if num % 3 == 0:
    print('입력한 숫자는 2와 3의 배수입니다.')
  else:
    print('입력한 숫자는 2의 배수입니다.')
elif num % 3 == 0:
  print('입력한 숫자는 3의 배수입니다.')
else:
  print('입력한 숫자는 2의 배수도 3의 배수도 아닙니다.')

논리 연산자(AND)

  • 양쪽 두식의 값이 모두 True인 경우 결과가 True가 되는 연산자
  • 예) 정보처리기사 자격을 취득하기 위해서는 모든 과목을 40점 이상이고, 평균이 60점 이상이 되어야 함.
A B 결과
True True True
True False False
False True False
False False False
# 로그인 프로그램 만들기
# 아이디: admin, 비밀번호: 1234
userid = input('아이디를 입력하세요: ')
userpw = input('비밀번호를 입력하세요: ')

if userid == 'admin' and userpw == '1234':
 print('로그인 되었습니다.')
else:
  print('아이디 또는 비밀번호를 확인하세요')

 

논리 연산자(OR)

  • 양쪽 두 식의 값이 하나라도 True인 경우 결과가 True가 되는 연산자
A B 결과
True True True
True False True
False True True
False False False
# 주민등록번호에 의한 성별을 판별하는 프로그램 만들기
# 0010113068518
juminNo = input('주민등록번호 13자리를 -없이 입력하세요')

if juminNo[6] == '1' or  juminNo[6] == '3' or juminNo[6] == '5' or juminNo[6] == '7' or juminNo[6] == '9':
  print('남자')
else:
  print('여자')

논리 연산자(NOT)

  • 식의 부호(Bool 값)를 반대로 변경해주는 연산자
if not bool1:
  print('결과는 참입니다')
else:
  print('결과는 거짓입니다')
728x90
반응형

'KDT > Python' 카테고리의 다른 글

제어문 - 반복문2  (0) 2023.03.08
제어문 - 반복문  (0) 2023.03.07
자료구조(Data Structure) - 튜플(Tuple)  (0) 2023.03.07
자료구조(Data Structure) - 리스트(List)  (0) 2023.03.06
문자열(String)  (0) 2023.03.06