에서 ABC 가져 오기 ABCMeta, AbstractMethod 가져 오기 여섯 가져 오기 NP AS NumPy와 가져 오기 팬더 AS PD 가져 오기 PLT의 AS matplotlib.pyplot #의 모두 평균 수명은 75 세, 75 * 365 = 27,375일입니다 K_INIT_LIVING_DAYS = 27,375 클래스 는 Person (객체) : "" " 인간 ", "" DEF __init__ (자기가) : #은 보통 사람이 살 수 초기화 생활 self.living = K_INIT_LIVING_DAYS # 행복 지수 초기화 self.happiness = 0 #이 부의 값을 초기화 self.wealth = 0 # 초기화 명성 권한 = self.fame 0 # 처음 몇 일에서 살아 self.living_day = 0 DEF의 live_one_day가 (자기가 추구) : "" " 만 하루가 추구 추구 할 수 있습니다 당신이 제공하는 오늘 무엇을 추구 결정 무엇 BaseSeekDay 작성 노력할 것이다 속하는 유형 : PARAM을 추구 : : 반환 : "" " #의 각각의 고유 한 BaseSeekDay 클래스는 오늘날의 수확 달성하기 위해 구현 될 것입니다 do_seek_day 전화 consume_living을, 행복, 부, 명예가 = seek.do_seek_day ( ) # 일상 생활 마이너스 소비, 일부는 이전의 삶의 향상을 추구합니다 self.living을 - = consume_living #은 행복 지수가 축적 된 얻을 추구 self.happiness + = 행복을 # 자산의 탐색 결과 축적 self.wealth + = 자산 #은 전원의 명성을 축적 얻을 탐색 self.fame + = 명예의 전당 # 살아이 일 후에 self.living_day + = 1 개 클래스 BaseSeekDay (six.with_metaclass (ABCMeta, 개체)) : DEF의 __init__ (자기) : # 생명의 일정 추구의 각 매일 소비 self.living_consume = 0 # 행복의 매일 지수 일정 추구 self.happiness_base = 0 # 부의 축적 상수 추구하는 매일 self.wealth_base = 0 # 각 추구 축적 상수 일일 명예 항 self.fame_base = 0 #을 삶의 매일 소비 변수 요인 시퀀스의 추구 self.living_factor = [0] # 행복 지수 변수 요인 시퀀스 추구하는 매일 = self.happiness_factor를 [0] #을 부의 축적 변수 염기 서열을 추구하기 위해 매일 자신을 .wealth_factor = [0] # 청구항 명성의 일 추구 변수 시퀀스 당 self.fame_factor = [0] #는 일수 수명이 추구 self.do_seek_day_cnt를 = 0 # 서브 클래스의 상수와 변수 시퀀스 설정 자체 ._init_self ()가 @abstractmethod DEF _init_self (자체, * 인수, ** kwargs로 일) : #의 서브 클래스가 구현 그의 삶의 일정한 소비를 설정해야합니다, 행복 지수 상수 상수 설정 패스 @abstractmethod DEF를_gen_living_days (자체, * 인수, ** kwargs로) : #의 서브 클래스가 구현해야하는 설정, 자신의 변수 순서 패스 DEF의 do_seek_day (자기) : "" " 추구 매일 구체적으로 탐색 : 반환 : " "" #의 생활 소비 = living_consume : 일정한 소비 * happiness_factor : 가변 순서 IF self.do_seek_day_cnt> = LEN (self.living_factor) : #가 LEN (self.living_factor)를 초과가, 최종 living_factor [-1] 얻어 consume_living = \ self.living_factor를 [ - 1] * self.living_consume 다른 : # 각 클래스의 사용자 지정이 일정한 소비 생활뿐만 아니라 living_factor을 추구, 같은 #건강 값의 HealthSeekDay 추구, 즉 음의 순서 living_factor에서입니다 -> 값 # 각각의 결과로, 자신의 시퀀스 기능의 속도와 길이를 다양 living_factor 각 서브 클래스 #의 수의 추구와 소비 생활의 추구로 변화 consume_living = self.living_factor [self.do_seek_day_cnt] \ * self.living_consume의 #의 행복 인덱스 = happiness_base : 음 상수 * happiness_factor : 가변 순서 IF self.do_seek_day_cnt> = LEN은 (는 self.happiness_factor) : #가 LEN (self.happiness_factor)을 초과 마지막으로,가 얻어 #을 N-> 0이므로 happiness_factor [-1] 0 = 값 happiness_factor 때문에 #은 즉, 물건의 추구의 수가 행복 후에 과다하게하지 않는 행복 = self.happiness_factor [ -1] *self.happiness_base 다른 : #에게 행복 지수의 추구가 일정하게 사용자 정의 할 수 각 클래스를, 그리고 happiness_factor의 #은 높은에서 일반적으로 happiness_factor 서브 클래스를 정의 -> 낮은 변동성 행복 = self.happiness_factor [ self.do_seek_day_cnt] * self.happiness_base의 #의 재산 축적 = wealth_base : 축적 상수 * wealth_factor : 가변 순서 IF self.do_seek_day_cnt> = LEN (self.wealth_factor) : #가 최종 취할 렌 (self.wealth_factor)를 초과 자산 self.wealth_factor = [-1] * 셀프. wealth_base 다른 : # 각 클래스는 부의 지수 일정 및 wealth_factor의 추구를 사용자 정의 할 수 = 웰스 self.wealth_factor [ self.do_seek_day_cnt] * self.wealth_base의 #의 제 축적 = fame_base : 축적 상수 *의 fame_factor : 가변 순서 IF self.do_seek_day_cnt> = LEN은 (는 self.fame_factor) # 1 , LEN (self.fame_factor)을 초과 마지막으로,가 얻어 [-1] * = 명예 self.fame_factor self.fame_base 다른 : # 각 정의 클래스 인덱스 명성이 상수 항을 추구하고 fame_factor의 명성 = self.fame_factor [ self.do_seek_day_cnt] * self.fame_base의 # 이 세상 + 1의 일수의 추구 + = 1 self.do_seek_day_cnt에 #이 하는 행복, 부, 명성 권리를 얻기 위해, 삶의 하루 소비의 추구를 반환 반환 consume_living, 행복, 부, 명예 DEF의 regular_mm (그룹) : #의 최소 - 최대 표준화 반환 (그룹 - 그룹. 분 ()) / (group.max () - group.min ()) 클래스 HealthSeekDay (BaseSeekDay) : "" " HealthSeekDay 하루의 건강과 장수를 추구 : 뭔가에 관심 피트니스, 여행, 엔터테인먼트, :의 이미지입니다. 초록 : 건강과 장수의 추구. "" " DEF _init_self (자동) : # 상수 소비의 일상 생활 = 1, 하루 나타내는 self.living_consume = 1 # 행복한 일 지수 상수 = 1 self.happiness_base = 1 개 # 세트 변수 순서 self._gen_living_days () DEF의 _gen_living_days (자기) : #은 happiness_factor 1> 0으로 값을 다음과 같은 순서 때문에, 단지 12,000의 시퀀스를 생성 # 단순히 생명을 소비하는 것보다 12,000 배 더 큰 추구, 행복 지수를 증가시키지 않습니다 # 즉, 더 자주 더 완전히 행복이 발생하지 때까지 행복, 더 낮은지고, 하나의 일을하기로 일 = np.arange (1, 12000 ) # 기본 기능 선택 SQRT을, 서열 변화의 속도에 영향 = living_days NP합니다. SQRT (일) "" " 생활 추구 초 가변 인자 서열 -1-> 1, 즉 의해 생활 소비 값 수가 삶의 추구에 성장하여, 마이너스 성장에 의해 소비 및 수명을 연장 소비는 흑자 전환 에도 사람이 운동을 매일하는 경우, 매일 영양 보충제를 먹고, 여전히 자연의 죽음이 있기 때문에 수를 하루 "" ". #의 목적 * 2-1 : regular_mm 0-1 사이, HealthSeekDay 결과 -1,1 사이 = regular_mm self.living_factor (living_days) * 2 개 --1 #의 [:: --1] 1-0 사이 결과 : 0-> 1> 0 1- 변환 self.happiness_factor = regular_mm을 (일) : - 1 ] #은 나에게 당신의 삶의 이야기를 초기화 : HealthSeekDay 나 = 인격 () #이 건강과 장수 행복의 추구 초기화 seek_health = HealthSeekDay () 그동안 me.living> : 0 #을 오랫동안 그는, 건강과 장수 행복을 추구하는 삶으로 me.live_one_day (seek_health를 ) 인쇄 ( ' 행복의 추구가 길고 건강한 생활을 {} 년 살고, 행복 지수 {} {} 부의 축적, 명성 능력을 {} ' .format (라운드 (me.living_day / 365, 2), 원형 (me.happiness, 2 ) me.wealth, me.fame)) plt.plot (seek_health.living_factor * seek_health.living_consume) plt.plot (seek_health.happiness_factor * seek_health.happiness_base) plt.legend ([ ' living_factor ' , ' happiness_factor ' , LOC = ' 최상의 ' )