Python/개요 및 문법

제어문 - 조건문

Bambi97 2024. 9. 25. 11:28

bool타입을 리턴하는 조건을 전제해놓고 프로그램의 흐름을 제어하는 제어문의 한 종류

 

1. if문

전제 조건이 참(True)일 때 실행, 거짓(False)일 때 무시되는 기능

if 조건 :
	실행할 코드

if True:
  print('if문 집입하면 보임')
print('프로그램을 종료합니다')

<결과 콘솔>
if문 집입하면 보임
프로그램을 종료합니다


if False:
  print('if문 집입하면 보임')
print('프로그램을 종료합니다')

<결과 콘솔>
프로그램을 종료합니다

 

True / False 응용 버전

if 'text':
  print('if문 집입하면 보임')
print('프로그램을 종료합니다')
<결과 콘솔>
결과는 참입니다
프로그램을 종료합니다

if '':
  print('if문 집입하면 보임')
print('프로그램을 종료합니다')
<결과 콘솔>
프로그램을 종료합니다

 
 

2. else문

else는 위 if, elif에 아무것도 진입하지 못했을 때 받아주는 어머니와 같은 존재다.

 

3. elif문

타 언어의 else if의 약어로 elif라는 이름으로 작명됨

최초 조건인 if문에서 진입하지 못하면 2차적인 조건을 제시하는 역할 (쉽게 말해, 최초 조건 이후 추가 조건들은 다 elif)

 

수업 과제

# id 'apple' 비밀번호 '1234'를 전제로 로그인 구현

id = input('아이디를 입력해주세요')
pw = input('암호를 입력해주세요')

if id == 'apple' and pw == '1234':
  print('로그인 성공!')
else:
  print('아이디 또는 비밀번호를 확인해주세요.')
# 주민등록번호를 입력받아 성별을 판별
# 입력양식 : 970000-1234244
# 남자 : 1,3,5,7,9    여자 : 2,4,6,8,0

residentNum = input('주민등록번호를 입력해주세요. 000000-0000000 형식')
genderNum = int(residentNum.split('-')[1][0])

if genderNum % 2 == 0:
  print('여자')
else:
  print('남자')

<결과 콘솔>
주민등록번호를 입력해주세요. 000000-0000000 형식 000000-1234567
남자
# 국어, 영어, 수학점수를 입력받아 총점, 평균, 학점을 구하는 프로그램
# 90점이상 A, 80점이상 B, 70점이상 C, 60점이상 D, 나머지 F

kor, eng, math = input('국어 수학 영어 점수를 형식대로 입력해주세요. 국어 수학 영어 ').split()

total = int(kor) + int(eng) + int(math)
avg = total / 3

if avg >= 90 :
  print(f'{avg} A학점입니다.')
elif avg >= 80 :
  print(f'{avg} B학점입니다.')
elif avg >= 70 :
  print(f'{avg} C학점입니다.')
elif avg >= 60 :
  print(f'{avg} D학점입니다.')
else :
  print(f'{avg} F학점입니다.')

 

*format으로 평균 표기하기

kor, eng, math = input('국어 수학 영어 점수를 형식대로 입력해주세요. 국어 수학 영어 ').split()

total = int(kor) + int(eng) + int(math)
avg = total / 3

print('평균 {:.2f}'.format(avg))

<결과 콘솔>
국어 수학 영어 점수를 형식대로 입력해주세요. 국어 수학 영어 82 93 100
평균 91.67

 

4. 조건부 표현식 (Conditional Expression)

참일 때 값 if 조건 else 거짓일 때 값

num = int(input('숫자를 입력해주세요.'))

# if문 사용시
if num % 2 == 0:
  print('짝수')
else:
  print('홀수')

# 조건부 표현식
print('짝수') if num % 2 == 0 else print('홀수')

다른 언어에 삼항연산자와 비슷하면서도 조금 다른 느낌인 것 같다.

단, 복잡한 조건인 경우 너무 길어지므로 조건부 표현식은 간단한 조건에만 사용한다.

'Python > 개요 및 문법' 카테고리의 다른 글

컬렉션과 반복문  (0) 2024.09.26
제어문 - 반복문  (0) 2024.09.25
파이썬 연산자  (0) 2024.09.24
컬렉션 타입 - 딕셔너리  (0) 2024.09.24
컬렉션 타입 - 세트  (0) 2024.09.24