본문 바로가기
반응형

연습문제4

5장 연습문제 Preface 오늘은 클래스, 모듈, 내장 함수, 라이브러리 등과 관련된 연습문제를 풀어봤다. 대부분의 문제는 큰 어려움 없이 해결할 수 있었지만, 마지막 문제는 아무리 생각해봐도 해결 방법이 떠오르지 않아 일단은 해설에 있는 방식대로 코드를 작성했다. 글을 업로드한 후 조금 더 고민을 하여 내가 원하던 방식대로 코드를 다시 작성해 볼 것이다. 1. 다음은 Calculator 클래스이다. class Calculator: def __init__(self): self.value = 0 def add(self, val): self.value += val 위 클래스를 상속하는 UpgradeCalculator를 만들고 값을 뺄 수 있는 minus 메서드를 추가해 보자. 즉 다음과 같이 동작하는 클래스를 만들어야 .. 2021. 9. 9.
입출력 연습문제 Preface 7번 문제를 풀던 중 도저히 해결 방법이 떠오르지 않아 해설을 참고했다. 해설에선 파일을 열어 전체 내용을 읽은 후 쓰기 모드(w)를 통해 문자열을 고쳤지만, 해당 방법은 기존의 문자열을 모두 삭제한 후 새로운 내용을 작성하는 것이므로, 많은 내용이 담겨있는 파일을 수정할 땐 불필요한 부분까지 교체되는 등의 문제가 발생할 것 같다는 생각이 들었다. 이전 포스팅에서도 언급했듯 함수를 이용한 파일 수정은 실용성과 더불어 몇 가지 문제가 있다고 생각하는데, 현업에서 실제로 파일 수정에 함수를 사용하는지, 사용한다면 그 이유는 무엇인지 궁금하다. 1. 주어진 자연수가 홀수인지 짝수인지 판별해 주는 함수(is_odd)를 작성해 보자. → 답안 def is_odd(num): if num % 2 == .. 2021. 8. 21.
제어문 연습문제 Preface 이번 연습문제를 풀며 코드엔 정답이 없다는 말이 무엇을 의미하는 것인지 알 수 있었다. 3번 문제를 해결하기 위해 내가 작성한 코드와 해설지에 있는 코드는 출력 결과만 같을 뿐 다른 내용을 담고 있다. 그러나 두 코드 모두 오류 없이 정상적으로 작동하며, 문제가 원하는 정답을 출력한다. 즉, 특정 문제 해결을 위한 코드는 매우 다양하게 작성될 수 있다는 것이다. 그러나 불필요하게 길고 복잡한 코드는 다른 사람이 이해하기(리팩토링하기) 어려우므로 필수적인 내용만을 포함하여 최대한 간결하게 코드를 작성할 수 있도록 고민하는 것이 중요한 것 같다. 1. 다음 코드의 결괏값은 무엇일까? a = "Life is too short, you need python" if "wife" in a: print.. 2021. 8. 18.
자료형 연습문제 Preface 자료형과 관련된 몇 가지의 연습문제를 풀어봤다. 중간중간 해설지의 힘을 빌린 한 두 문제를 제외하면 대부분 혼자 힘으로 해결한 것 같다. 물론 아주 간단한 문제들이었지만, 막상 문제를 풀고 나니 생각보다 더욱 뿌듯했고 지금껏 진행해 온 공부 방식에 대한 확신도 생겼다. 아직 배워야 할 내용들이 산더미처럼 많지만, 앞으로도 지금처럼 자신감을 갖고 노력하면 무엇이든 해낼 수 있을 것 같다. 1. 홍길동 씨의 과목별 점수는 다음과 같다. 홍길동 씨의 평균 점수를 구해 보자. - 국어 : 80 - 영어 : 75 - 수학 : 55 → 답안 import statistics 점수 = [80, 75, 55] print(statistics.mean(점수)) → 해설 : 해설에선 세 값을 더한 후 직접 나누.. 2021. 8. 13.