Python 기초문법_1 예제
문제 1. 학점계산기
- 영희는 1학기 중간고사의 학점을 알고 싶다.
- 영희가 중간고사 때 수강한 과목과 학점은 다음과 같다.
글쓰기(3) | 미적분학I(3) | 영문법특강(2) | 컴퓨팅사고력(3) |
---|---|---|---|
A | C | B+ | A+ |
- 과목이름 옆 괄호에 있는 숫자는 학점 수이고, 4.5만점 기준으로 성적이 계산된다.
e.g. A+ : 4.5, A : 4.0, B+ : 3.5, B : 3.0, C+ : 2.5, C : 2.0, F : 0
- 계산 공식은 다음과 같다.
(3 x A + 3 x C + 2 x B+ + 3 x A+) / (3+3+2+3) = (3 x 4.5 + 3 x 2.0 + 2 x 3.5 + 3 x 4.0) / 11
문제2. 십의 자리 구하기
- 숫자 하나를 입력받는다. (단, 입력하는 숫자는 무조건 두 자리 이상의 자연수)
- 입력 받은 숫자의 십의 자리 숫자를 출력한다.
문제3. 학습 결과 출력하기
-
머신러닝에서는 모델이 학습을 하게 되면, 학습에 주어진 인자들을 가지고 어떤 결과가 나왔는지 출력을 하게 됩니다.
-
주어진 인자를 해당 하는 자리에 위치하는 출력문을 작성해보세요. (각 용어의 의미는 현재 중요하지 않습니다.)
다음 주어진 변수를 활용하여 문제3의 코드를 작성하세요.
epoch = 10
train_accuracy = 0.85; val_accuracy = 0.83; test_accuracy = 0.76
model_name = "ResNet44"
- 다음은 출력문의 예시입니다.
“ResNet44 모델로 10 epoch를 돌려 학습시킨 결과는 학습 정확도 : 0.85, 검증 정확도 : 0.83, 테스트 정확도 : 0.76으로 나왔습니다”
문제4. 주민등록번호 가리기
- 주민등록번호가 하나 주어집니다.
- 요즘은 보안이 생명입니다. 뒤에 6자리를 *로 만들어서 소중한 정보를 지키세요!
문제4의 코드를 작성하세요. 밑의 4가지중 아무거나 사용하시면 됩니다.
oldman_id = "911210-1234567"
oldwoman_id = "900101-2111111"
youngman_id = "200112-3111111"
youngwoman_id = "200112-4123987"
문제 5. 호텔 예약 관리하기
-
“book” 리스트에는 고객들이 예약한 방 번호가 순차적으로 기록됩니다.
-
만약에 고객이 예약을 취소한 경우에 해당 방 번호는 리스트에서 제거됩니다.
-
현재 예약된 방 번호는 [103, 205, 405] 입니다.
-
어제 새롭게 예약된 방 번호가 107, 203, 304, 507 일 때의 예약 목록을 출력하는 코드를 작성해보세요.
-
오늘 205호, 304호를 예약한 손님이 예약을 취소하였을 때의 예약 목록을 출력하는 코드를 작성해보세요.
문제6. 키 순으로 줄세우기
- 어떤 학급의 아이 5명의 키에 대한 정보가 주어집니다.
-
이를 키가 작은 순서부터 큰 순서로 정렬하여 출력해주세요.
heights = [175.3, 146, 184, 160, 167]
문제7. 도서 관리하기
-
도서관에서 도서 관련 정보를 프로그램에 저장하려고 합니다.
-
도서와 관련된 정보는 “책 제목 / 도서번호 / 도서분류” 가 있습니다.
-
현재 도서는 총 5권이 있습니다. 5권에 해당하는 도서 정보는 다음과 같습니다. (실제 존재하는 도서가 아닌 예제를 위한 가상의 도서입니다)
“기초 파이썬 프로그래밍 | 0011 | 프로그래밍/IT” |
“한 번에 배우는 데이터 분석 | 1234 | 프로그래밍/IT” |
“40세에 돌아본 인생 | 3014 | 인문교양” |
“집밥 101 | 9744 | 요리” |
“300일로 끝내는 나홀로 세계여행 | 8861 | 여행” |
- 다음 두 가지 방식으로 데이터를 관리해보려고 합니다. 각 방식대로 프로그램을 작성해보고 차이점에 대해 생각해보세요.
- 11-1. 리스트로 관리하기
도서이름들을 관리하는 name_list
도서번호들을 관리하는 number_list
도서분류들은 관리하는 category_list
- 11-2. 사전으로 관리하기
0, 1, 2, 3, 4를 key로 하고 value는 각 도서정보(사전)인 사전을 만든다.
각 도서정보는 “name”, “number”, “category”를 key로 하고 value는 각 도서의 해당하는 정보를 적는다.
해답 1.
# 문제1의 코드를 작성하세요.
Grade = {"A+" : 4.5, "A" : 4.0, "B+" : 3.5, "B" : 3.0, "C+" : 2.5, "C" : 2.0}
num = [3, 3, 2, 3]
(num[0]*Grade["A"] + num[1]*Grade["C"] + num[2]*Grade["B+"] + num[3]*Grade["A+"])/sum(num)
해답 2.
# 문제2의 코드를 작성하세요.
A = int(input())
print((A%100)//10)
해답 3.
# 가능하면 배웠던 3가지 케이스를 모두 사용해보세요;.
# case1 %
print("%s 모델로 %d epoch를 돌려 학습시킨 결과는 학습 정확도 : %f, 검증 정확도 : %f, 테스트 정확도 : %f으로 나왔습니다"%(model_name, epoch, train_accuracy, val_accuracy, test_accuracy))
# case2
print("{} 모델로 {} epoch를 돌려 학습시킨 결과는 학습 정확도 : {}, 검증 정확도 : {}, 테스트 정확도 : {}으로 나왔습니다".format(model_name, epoch, train_accuracy, val_accuracy, test_accuracy))
# case3
print(f"{model_name} 모델로 {epoch} epoch를 돌려 학습시킨 결과는 학습 정확도 : {train_accuracy}, 검증 정확도 : {val_accuracy}, 테스트 정확도 : {test_accuracy}으로 나왔습니다.")
해답 4.
oldman_id.replace(oldman_id[-6:],"******")
해답 5.
book = [103, 205, 405]
# 어제 예약목록 출력
book.append(107)
book.append(203)
book.append(304)
book.append(507)
print(book)
# 오늘 예약목록 출력
book.remove(205)
book.remove(304)
print(book)
해답 6.
heights.sort()
heights
해답 7.
# 11-1에 대한 코드를 작성하세요.
name_list = ["기초 파이썬 프로그래밍", "한번에 배우는 데이터 분석", "40세에 돌아본 인생", "집밥 101", "300일로 끝내는 나홀로 세계여행"]
number_list = ["0011", "1234", "3014", "9744", "8861"]
category_list = ["프로그래밍/IT", "프로그래밍/IT", "인문교양", "요리", "여행"]
# 11-2에 대한 코드를 작성하세요.
book = {0 : ["기초 파이썬 프로그래밍", "0011", "프로그래밍/IT"], 1 : ["한번에 배우는 데이터 분석", "1234", "프로그래밍/IT"], 2 : ["40세에 돌아본 인생", "3014", "인문교양"], 3 : ["집밥101", "9744", "요리"], 4 : ["300일로 끝내는 나홀로 세계여행", "8861", "여행"]}
마치며
이번 포스팅에서는 지난 포스팅에서 배운 내용을 바탕으로 예시 문제를 풀어보았습니다.
다음 포스팅에서는 프로그램의 흐름을 제어하는 Control statement에 대해 알아보도록 하겠습니다.