
해당 포스팅은 코드잇 복습을 위한 포스팅입니다.
문제 발생 시 즉시 비공개 처리 하겠습니다.
실습 1
학생들에게 최종 성적을 알려 주는 '학점 계산기'를 만들려고 한다.
이 수업에는 50점 만점의 중간고사와 50점 만점의 기말고사가 있다. 두 시험의 점수를 합해서 최종 성적을 내는 방식이다.
A: 90점 이상
B: 80점 이상 90점 미만
C: 70점 이상 80점 미만
D: 60점 이상 70점 미만
F: 60점 미만
print_grade 함수는 파라미터로 중간고사 점수 midterm_score와 기말고사 점수 final_score를 받고, 최종 성적을 출력한다.
실행결과

내 코드
def print_grade(midterm_score, final_score):
total = midterm_score + final_score
if total >= 90:
print("A")
elif 90 > total >= 80:
print("B")
elif 80 > total >= 70:
print("C")
elif 70 > total >= 60:
print("D")
else:
print("F")
print_grade(40, 45)
print_grade(20, 35)
print_grade(30, 32)
print_grade(50, 45)
#실행결과
B
F
D
A
모범답안

elif문으로 넘어왔다는 것은 앞선 if문의 조건 부분을 통과하지 않았다는 뜻이다. 즉 점수가 90점 미만일 수 밖에 없기 때문에 total >= 80으로 바로 적을 수 있는 것.
실습 2
while문과 if문을 활용하여, 100 이하의 자연수 중 8의 배수이지만 12의 배수는 아닌 것을 모두 출력하자.
예를 들어서 16은 8의 배수이지만 12의 배수가 아니기 때문에 조건에 부합니다. 하지만 48은 8의 배수이면서 12의 배수이기도 해서 조건에 부합하지 않는다.
실행결과

내 코드
i = 1
while i <= 100:
if i % 8 == 0 and i % 12 != 0:
print(i)
i += 1
#실행결과
8
16
32
40
56
64
80
88
모범답안

i += 1은 if문 밖에 있어야된다고 한다. 그렇지 않으면 무한루프에 빠질 가능성이 있다는데 일단 나는 안에 넣었지만 큰 문제는 없었다. 그래도 항상 밖에 쓰는 습관을 길러야겠다.
실습 3
10보다 작은 2 또는 3의 배수는 2, 3, 4, 6, 8, 9이며, 이들의 합은 32이다.
while문과 if문을 활용하여, 1,000보다 작은 자연수 중 2 또는 3의 배수의 합을 출력하는 프로그램을 써보자.
실행결과

내 코드
i = 1
total = 0
while i < 1000:
if i % 2 == 0 or i % 3 == 0:
total += i
i += 1
print(total)
#실행결과
333167
모범답안

먼저 누적된 합을 보관할 수 있는 변수가 필요하다. total을 생성해준다.
while 반복문의 조건인 i < 1000에서 i += 1 을 돌린다.
if문에서 2의 배수, 3의 배수 조건을 충족할 때 마다 total에 i를 더해주고 반복문이 끝나면 총 누적된 합 total을 출력한다.
실습 4
정수 n의 약수는 n을 나누었을 때 나누어 떨어지는 수다. 만약 정수 i가 정수 n의 약수라면, n을 i로 나누었을 때 나머지가 0이 나와야 한다.
정수 120의 약수를 모두 출력하고, 총 몇개의 약수가 있는지 출력하는 프로그램을 써보자.
실행결과

내 코드
i = 1
count = 0
while i <= 120:
if 120 % i == 0:
count += 1
print(i)
i += 1
print("120의 약수는 총 {}개입니다.".format(count))
#실행결과
1
2
3
4
5
6
8
10
12
15
20
24
30
40
60
120
120의 약수는 총 16개입니다.
모범답안

count값을 저장할 변수를 만들어주고 count를 1씩 올려주는 게 포인트다.
내 코드와 다른점은 120을 상수 N으로 만들어준 것,
그리고 print와 count의 코드상 위치이다.

'파이썬 > 코드잇' 카테고리의 다른 글
| Python 31. 제어문 복습 with 코드잇 (0) | 2023.04.14 |
|---|---|
| Python 30. while문, if문 실습 (2) with 코드잇 (0) | 2023.04.13 |
| Python 28. elif문 복습 with 코드잇 (0) | 2023.04.13 |
| Python 27. if문 복습 with 코드잇 (0) | 2023.04.13 |
| Python 25. 제어문 / while문 복습 with 코드잇 (0) | 2023.04.13 |