1. 또 미니 프로젝트 해볼까요?
귀차니즘 교수님이 채점은 노예들을 시키고난 학생들의 성적표가 있다고 합니다. 90점 이상을 받으면 A, 80점 이상이면 B, 70점 이상이면 C를 부여한다고 합니다. 귀차니즘 교수님을 위해 자동 성적 부여 시스템을 만들어줍시다.
<프로그램 기획>
- 학생의 성적을 입력 받습니다.
- 입력받은 학생의 성적이 90보다 크면 A를 줍니다.
- 입력받은 학생의 성적이 80보다 크면 B를 줍니다.
- 입력받은 학생의 성적이 70보다 크면 C를 줍니다.
- 학생은 하나의 성적만 부여 받습니다.
< 정답 코드 >
student_score = int(input())
grade = None
if student_score >= 90:
grade = 'A'
if student_score >= 80:
grade = 'B'
if student_score >= 70:
grade = 'C'
print(grade)
라고 코드 적으신 분! 97점 받으면 A를 받아야하는데 출력값이 뭐인지 확인해 보세요!
< 진짜 정답 코드 >
student_score = int(input())
grade = None
if student_score >= 90:
grade = 'A'
if student_score < 90:
if student_socre >= 80:
grade = 'B'
if student_score < 80:
if student_score >= 70:
grade = 'C'
print(grade)
2. elif
위 프로젝트를 해보면서 느끼셨을 것입니다… 성공했다면 귀찮다… 실패했다면 머리아프다.. 그래서 나온 명령어가 elif입니다.
사용하는 형태는 아래와 같습니다! (들여쓰기, : 주의!!!!)
if 어떤 상황1:
어떤 코드 1
elif 어떤 상황2:
어떤 코드 2
elif 어떤 상황 3:
어떤 코드 3
첫 번째 elif의 의미는 “어떤 상황 1을 만족 못하지만 어떤상황 2를 만족한다면 어떤 코드 2를 실행해라” 입니다.
두 번째 elif의 의미는 “어떤 상황 1, 2를 만족 못하지만 어떤 상황 3을 만족 한다면 어떤 코드 3을 실행해라” 입니다.
이렇듯 elif는 계속해서 이어서 사용가능하고 꼭 첫 시작은 if로 해야만 합니다!!
이를 이해하고 미니 프로젝트 코드를 다시쓰면 아래와 같습니다.
student_score = int(input())
grade = None
if student_score > 90:
grade = 'A'
elif student_score > 80:
grade = 'B'
elif student_score > 70:
grade = 'C'
if 여러개로 적었을 때와 elif 와 섞어 적었을 때 가장 큰 차이점은
if 여러개는 어떤 상황에 만족하는 것이 나와도 뒤에 있는 if들도 다 실행한다는 것이고 elif와 섞여 적은 것은 어떤 상황에 만족 하는 것이 나오면 뒤에 있는 elif들은 무시한다는 것입니다.
3. else
이번에는 교수님이 70점 미만인 친구들은 다 D로 주신다고 하네요… 이러면 코드를 어떻게 짜야 할까요??
직접 코드를 작성해보세요.
똑똑하다면 else를 배우지 않고도 구현 가능합니다!
< 정답 코드 >
student_score = int(input())
grade = None
if student_score > 90:
grade = 'A'
elif student_score > 80:
grade = 'B'
elif student_score > 70:
grade = 'C'
if grade == None:
grade = 'D'
위 정답 코드처럼 구현할 수 도 있지만 else를 안다면 좀 더 간지나고 깔끔하게 구현가능합니다.
사용법은 아래와 같습니다.
if 어떤 상황1:
어떤 코드 1
elif 어떤 상황2:
어떤 코드 2
else:
어떤 코드 3
else의 의미는 “어떤 상황 1, 2 모두 해당 안되면 어떤 코드 3을 실행해라” 라는 의미 입니다.
귀차니즘 교수님 문제에 적용해보면 아래 코드처럼 됩니다.
student_score = int(input())
grade = None
if student_score >= 90:
grade = 'A'
elif student_score >= 80:
grade = 'B'
elif student_score >= 70:
grade = 'C'
else:
grade = 'D'
💡else는 elif 없이도 사용가능합니다.
if 어떤 상황 1: 어떤 코드 1 else: 어떤 코드 2이런 식으로 사용하면 어떤상황 1에 해당 안되는 모든 경우는 어떤 코드 2를 실행하게 되는 것입니다.
'파이썬 기초' 카테고리의 다른 글
| [파이썬 기초] 11. 리스트 함수 (0) | 2025.02.28 |
|---|---|
| [파이썬 기초] 9. 논리 연산자 (1) | 2025.02.27 |
| [파이썬 기초] 7. if문 (0) | 2025.02.27 |
| [파이썬 기초] 6. 비교연산자 (0) | 2025.02.27 |
| [파이썬 기초] 5. 복합 연산자 (0) | 2025.02.27 |