728x90 파이썬 코딩 도장42 [파이썬 코딩 도장] 45.7 심사문제: 패키지 사용하기 정답 from calcpkg import operation, geometry r = int(input()) print(operation.squareroot(r)) print(geometry.circle_area(r)) CodingTest 2020. 12. 18. [파이썬 코딩 도장] 44.6 심사문제: 원의 넓이 구하기 정답 import math r = float(input()) print(r * r * math.pi) CodingTest 2020. 12. 18. [파이썬 코딩 도장] 43.6 심사문제: URL 검사하기 정답 import re p = re.compile('^(https?://)[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+/[a-zA-Z0-9-_/.?=]*') print(p.match(input()) != None) CodingTest 2020. 12. 18. [파이썬 코딩 도장] 42.8 심사문제: HTML 태그 데코레이터 만들기 정답 메서드로 데코레이터 만들기 def html_tag(tag_name): def real_decorator(func): def wrapper(): return '{1}'.format(tag_name,func()) return wrapper return real_decorator 클래스로 데코레이터 만들기 class html_tag: def __init__(self, tag_name): self.tag_name = tag_name def __call__(self, func): def wrapper(): return '{1}'.format(self.tag_name, func()) return wrapper CodingTest 2020. 12. 18. [파이썬 코딩 도장] 41.7 심사문제: 사칙연산 코루틴 만들기 정답 def calc(): result = 0 while True: expression = (yield result) a, operator, b = expression.split() if operator == '+': result = int(a) + int(b) elif operator == '-': result = int(a) - int(b) elif operator == '*': result = int(a) * int(b) elif operator == '/': result = int(a) / int(b) CodingTest 2020. 12. 18. [파이썬 코딩 도장] 40.6 심사문제: 소수 제너레이터 만들기 정답 일반적인 방법 모든 수에 대한 소수 여부를 확인 def prime_number_generator(start, stop): for n in range(start, stop): # 소수여부 확인용 변수 생성 is_prime = True # start 부터 stop의 모든 수에 대해 소수여부 확인 for i in range(2, n): # 만약 소수가 아니면 소수여부 False 처리 if n % i == 0: is_prime = False # 소수여부 확인된 값만 전달 if is_prime: yield n 에라토스네테스의 체 방법 2, 3, 5, 7, 11, 13 등 소수의 배수를 제외했을 때 남는 수를 찾는 방식 import math def prime_number_generator(start, stop.. CodingTest 2020. 12. 18. [파이썬 코딩 도장] 39.7 심사문제: 시간 이터레이터 만들기 정답 파이썬 코딩 도장 풀이 방법으로 구현한 정답 class TimeIterator: def __init__(self, start, stop): self.start = start self.stop = stop def __getitem__(self, index): hour = (self.start + index) // 60 // 60 % 24 min = (self.start + index) // 60 % 60 sec = (self.start + index) % 60 if index < self.stop - self.start: return '{0:02d}:{1:02d}:{2:02d}'.format(hour, min, sec) else: raise IndexError time 함수를 활용하여 구현한 정답 i.. CodingTest 2020. 12. 17. [파이썬 코딩 도장] 38.7 심사문제: 회문이 아니면 예외 발생시키기 정답 class NotPalindromeError(Exception): def __init__(self): super().__init__('회문이 아닙니다.') def palindrome(word): if word != word[::-1]: raise NotPalindromeError print(word) CodingTest 2020. 12. 17. [파이썬 코딩 도장] 37.3 심사문제: 두 점 사이의 거리 구하기 정답 for i in range(len(p) -1): a = p[i+1].x - p[i].x b = p[i+1].y - p[i].y length += math.sqrt(math.pow(a, 2) + math.pow(b, 2)) CodingTest 2020. 12. 17. [파이썬 코딩 도장] 36.9 심사문제: 다중 상속 사용하기 정답 class Bird(Animal, Wing): def fly(self): print('날다') CodingTest 2020. 12. 17. [파이썬 코딩 도장] 35.6 심사문제: 시간 클래스 만들기 정답 @staticmethod def is_time_valid(time_string): hour, minute, second = map(int, time_string.split(':')) return hour CodingTest 2020. 12. 17. [파이썬 코딩 도장] 34.6 심사문제: 게임 캐릭터 클래스 만들기 정답 class Annie: def __init__(self, health, mana, ability_power): self.health = health self.mana = mana self.ability_power = ability_power def tibbers(self): print('티버: 피해량 {0}'.format(self.ability_power * 0.65 + 400)) CodingTest 2020. 12. 17. 이전 1 2 3 4 다음 💲 추천 글 728x90