= 묶음생성기([1,2,3,4,5,6,7,8],n_groups=2) 묶음
15wk-1: 퀴즈10
Caution
- 전북대 학생들을 시험당일 학생증을 지참할 것. (출석체크 및 본인확인) 학생증 외에 신분증 여권등도 가능.
- 부정행위 (카카오톡 채팅을 통한 코드공유, 생성형모델 사용, 대리시험 등) 적발시 F 처리함.
- 퀴즈 중 지각할 경우 지각사실을 기록함. 하지만 별 다른 감점은 하지 않음.
.ipynb
파일 형태로 제출된 답안지만 채점하며 그 외의 형식 (.hwp
,.py
등)은 채점하지 않음. 즉 0점 처리함.
1. – 50점
정확한 구현시에만 점수있음. 이외는 0점
아래와 같은 기능을 하는 클래스 묶음생성기
를 설계하라.
# 예시1
for x in 묶음] [x
[[1, 3, 5, 7], [2, 4, 6, 8]]
#
# 예시2
= ["사자", "호랑이", "코끼리", "닭", "얼룩말", "캥거루", "판다", "나무늘보", "돼지", "양"]
animlas = 묶음생성기(animlas,n_groups=3) 묶음
for x in 묶음] [x
[['사자', '닭', '판다', '양'], ['호랑이', '얼룩말', '나무늘보'], ['코끼리', '캥거루', '돼지']]
#
# 예시3
= ['어흥', '크앙', '뿌우', '꼬끼오', '이히힝', '캥거캥거', '냠냠', 'Zzz', '꾸울', '메에'] sounds
= 묶음생성기(list(zip(animlas,sounds)),n_groups=4) 묶음
for x in 묶음] [x
[[('사자', '어흥'), ('얼룩말', '이히힝'), ('돼지', '꾸울')],
[('호랑이', '크앙'), ('캥거루', '캥거캥거'), ('양', '메에')],
[('코끼리', '뿌우'), ('판다', '냠냠')],
[('닭', '꼬끼오'), ('나무늘보', 'Zzz')]]
#
(풀이)
class 묶음생성기:
def __init__(self,array,n_groups):
self.array = array
self.n_groups = n_groups
self.i = 0
def __iter__(self):
return self
def __next__(self):
if self.i < self.n_groups:
= self.array[self.i::self.n_groups]
group self.i = self.i + 1
return group
else:
raise(StopIteration)
2. – 50점
정확한 구현시에만 점수있음. 이외에는 0점
아래와 같은 기능을 하는 클래스 애완동물
을 설계하라.
# 예시1
= 애완동물(name="하니",sound="멍")
하니 = 애완동물(name="나비",sound="야오옹") 나비
동물명 <하니> 와 같이 살기로 결심했습니다.
동물명 <나비> 와 같이 살기로 결심했습니다.
하니()
하니가 멍하고 울었습니다.
나비()
나비가 야오옹하고 울었습니다.
애완동물.모두울어보세요()
하니가 멍하고 울었습니다.
나비가 야오옹하고 울었습니다.
#
# 예시2
= 애완동물(name="꿀이",sound="꿀!")
꿀이 = 애완동물(name="크앙이",sound="크앙!") 크앙이
동물명 <꿀이> 와 같이 살기로 결심했습니다.
동물명 <크앙이> 와 같이 살기로 결심했습니다.
꿀이()
꿀이가 꿀!하고 울었습니다.
크앙이()
크앙이가 크앙!하고 울었습니다.
애완동물.모두모여보세요()
하니,나비,꿀이,크앙이가 모두 모였습니다.
애완동물.모두울어보세요()
하니가 멍하고 울었습니다.
나비가 야오옹하고 울었습니다.
꿀이가 꿀!하고 울었습니다.
크앙이가 크앙!하고 울었습니다.
#
# 예시3
= 애완동물(name="복순이",sound="멍멍") 복순이
동물명 <복순이> 와 같이 살기로 결심했습니다.
복순이()
복순이가 멍멍하고 울었습니다.
애완동물.모두모여보세요()
하니,나비,꿀이,크앙이,복순이가 모두 모였습니다.
애완동물.모두울어보세요()
하니가 멍하고 울었습니다.
나비가 야오옹하고 울었습니다.
꿀이가 꿀!하고 울었습니다.
크앙이가 크앙!하고 울었습니다.
복순이가 멍멍하고 울었습니다.
#
(풀이)
class 애완동물:
= []
petlist def __init__(self,name,sound):
self.name = name
self.sound = sound
print(f"동물명 <{self.name}> 와 같이 살기로 결심했습니다.")
self)
애완동물.petlist.append(def __call__(self):
print(f"{self.name}가 {self.sound}하고 울었습니다.")
@classmethod
def 모두울어보세요(cls):
for pet in cls.petlist:
pet()@classmethod
def 모두모여보세요(cls):
= ",".join([pet.name for pet in cls.petlist])
text print(f"{text}가 모두 모였습니다.")