티스토리 뷰
중간고사 문제 및 정답
중간고사 문제 및 제출한 답안은 시험 종료 후 확인하기에는 어려움이 있어 집에서 기억나는 대로 소스코드를 재작성했습니다. 문제의 상세한 조건은 생략하고 핵심적인 부분만 구현했습니다.
문제 1
환율에 따른 원화 달러 환전 프로그램을 제작하시오.
조건 1. 번호 1, 2, 3번을 입력받아 환율계산 및 프로그램 종료를 구현할 것. (그 외의 번호를 입력받을 경우 잘못된 번호라고 출력)
조건 2. 무한반복 사용
Exchange_Rate = 1280.20
print("원화 달러 환전")
print("1 : 원화를 달러로 환전합니다. ")
print("2 : 달러를 원화로 환전합니다. ")
print("3 : 종료 ")
while True:
num = int(input("번호를 입력하시오 : "))
if num == 1:
money = int(input("환전할 돈을 입력하시오 : "))\
print(r"원화(₩) -> 달러($)")
print("환전한 결과 %.2f입니다." % (money/Exchange_Rate))
elif num == 2:
money = int(input("환전할 돈을 입력하시오"))
print(r"달러($) -> 원화(₩)")
print("환전한 결과 %.2f입니다." % (money*Exchange_Rate))
elif num == 3:
print("종료합니다.")
break
else:
print("번호를 잘못입력하였습니다.")
-결과-
원화 달러 환전
1 : 원화를 달러로 환전합니다.
2 : 달러를 원화로 환전합니다.
3 : 종료
번호를 입력하시오 : 1
환전할 돈을 입력하시오 : 30000
원화(₩) -> 달러($)
환전한 결과 23.43입니다.
번호를 입력하시오 : 2
환전할 돈을 입력하시오 : 25
달러($) -> 원화(₩)
환전한 결과 32005.00입니다.
번호를 입력하시오 : 33
번호를 잘못입력하였습니다.
번호를 입력하시오 : 3
종료합니다.
문제 2
입력받은 두 수 사이에 있는 소수를 출력하고 소수의 개수를 계산하시오.
조건 1. 소수를 출력할 때, 숫자 5개를 한 묶음으로 한 줄씩 출력
조건 2. 소수의 개수를 계산할 것
count = 0
FN = int(input("처음 수를 입력하세요 : "))
SN = int(input("끝 수를 입력하세요 : "))
print()
print("-"*30)
print("처음 수와 끝 수 사이에 있는 소수")
print("-"*30)
for i in range(FN, (SN+1)):
k = 0
for j in range(1, i):
if i % j == 0:
k += 1
if k <= 1:
if count % 5 == 0:
print()
print("%3d" % i, end=' ')
count += 1
print()
print("-"*30)
print("%d~%d 까지 소수의 개수는 %d개 입니다." % (FN, SN, count))
print("-"*30)
-결과-
처음 수를 입력하세요 : 3
끝 수를 입력하세요 : 50
------------------------------
처음 수와 끝 수 사이에 있는 소수
------------------------------
3 5 7 11 13
17 19 23 29 31
37 41 43 47
------------------------------
3~50까지 소수의 개수는 14개입니다.
------------------------------
중간고사 난이도
실기 50분 필기 50분으로 진행되었으며, 제 기준으로 각각 15분 내로 시험을 종료할 수 있었습니다. 먼저 실기 시험의 문제 난이도는 쉬운 편이라고 생각하지만, 파이썬을 처음 접한 사람들이 겨우 3일 동안만 공부하고 문제를 풀기에는 어려운 편이라고 생각합니다. 필기시험의 경우는 제대로 공부하지 않았으면 충분히 틀릴 수 있을만한 문제가 많았습니다. 특히 책에 없는 내용으로 정말 제대로 이해하지 못했으면 풀지 못할 만한 선지들이 있었습니다. 하지만 그런 경우에도 다른 선지들이 너무 맞다거나 너무 틀린 경우도 종종 있었습니다.
리스트
리스트 값에 접근하는 다양한 방법(슬라이싱)
[:] 처음부터 끝까지
[a:] a부터 끝까지, a 포함 o
[:b] 처음부터 (b-1)까지, b 포함 x
[a:b] a부터 b-1까지
[a:b:c] c만큼 문자를 건너뛰면서 a부터 b-1까지
[-1] 뒤에서 첫 번째( 앞에서 첫 번째는 0, 뒤에서 첫 번째는 -1 )
[::c] 처음부터 c만큼 문자를 건너뛰면서 끝까지
[::-1] 리스트를 반대로 뒤집음
리스트 조작 함수 (**중요**)
append()
- 리스트 맨 뒤에 항목을 추가
pop()
- 리스트 맨 뒤의 항목 제거
sort()
- 정렬
reverse()
- 순서를 역순으로
index(찾을 값)
- 지정한 값을 찾아 해당 위치 반환
insert(위치, 값)
- 지정된 위치에 값을 삽입
remove(지울 값)
- 리스트에 저장한 값을 삭제(여러 개일 경우 첫 번째 값 삭제)
extend(추가할 리스트)
- 리스트 뒤에 리스트 추가
count(찾을 값)
- 리스트에서 해당 값의 개수 출력
clear()
- 리스트의 내용을 모두 삭제
del(리스트명[위치])
- 리스트에서 해당 위치의 항목을 삭제한
len(리스트명)
- 리스트의 크기 출력
새 리스트 = 리스트.copy()
- 리스트의 내용을 새로운 리스트에 복사
sorted(리스트)
- 리스트의 항목을 정렬해서 새로운 리스트에 대입
'CODING > Python' 카테고리의 다른 글
| 경북대 예비대학 파이썬교육 (6일차) (문자열, 함수와 모듈, 클래스) (0) | 2023.02.20 |
|---|---|
| 경북대 예비대학 파이썬교육 (5일차) (리스트, 튜플, 딕셔너리, 세트 자료형) (0) | 2023.02.20 |
| 경북대 예비대학 파이썬교육 (3일차 + 중간고사 전 마지막정리) (0) | 2023.02.16 |
| 경북대 예비대학 파이썬교육 (2일차) (0) | 2023.02.15 |
| 경북대 예비대학 파이썬교육 (1일차) (0) | 2023.02.13 |