goodthings4me.tistory.com
■ main() 함수에 태어난 연월일을 인자로 넣으면 현재까지 살아온 총 일수와 연월일을 계산해주는 프로그램 코딩 연습(파이썬 초보자의 datetime() 함수 활용)
from datetime import datetime
class PeriodFromBirth:
month_days = (31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31) # 월(1~12)별 일수
def __init__(self, year, month, day):
self.set_prd_birthday(year, month, day)
def get_prd_birthday(self): # 생년월일에서 현재까지의 기간 등
print('당신은 태어나서 오늘까지 {0:,}일({1}년 {2}개월 {3}일)을 살았습니다.'\
.format(self.tday.days, self.years, self.month_cnt, self.days))
return [self.tday, self.years, self.month_cnt, self.days]
def set_prd_birthday(self, year, month, day):
self.ubirthday = datetime(year, month, day)
self.now = datetime.now()
self.tday = self.now - self.ubirthday # 총 일수
# self.tday는 <class 'datetime.timedelta'>
self.leap_years = [n for n in range(self.ubirthday.year, self.now.year + 1) if n % 4 == 0 ]
# 태어난 해부터 현재까지의 윤년 리스트
self.years = (self.tday.days - len(self.leap_years)) // 365 # 지난 총 연(年)수
self.days = (self.tday.days - len(self.leap_years)) % 365
# 연(年)수 제외한 올해 일수(단, 윤년 일수 제외)
self.month_cnt = 0 # 올 해의 지난 월수
if self.ubirthday.month <= self.now.month and self.ubirthday.day <= self.now.day:
for i in range(self.ubirthday.month + 1, self.now.month):
if self.days - PeriodFromBirth.month_days[i-1] >= 0:
self.month_cnt += 1 # 지난 월수 누적
self.days -= PeriodFromBirth.month_days[i-1]
else:
break
self.days_left()
else:
for i in range(self.ubirthday.month + 1, 13): # 생년의 월 다음 월부터 12월말까지
if self.days - PeriodFromBirth.month_days[i-1] >= 0:
self.month_cnt += 1
self.days -= PeriodFromBirth.month_days[i-1]
else:
break
for i in range(1, self.now.month): # 1월부터 현재 월의 전월까지
if self.days - PeriodFromBirth.month_days[i-1] >= 0:
self.month_cnt += 1
self.days -= PeriodFromBirth.month_days[i-1]
else:
break
self.days_left()
def days_left(self): # 남은 전체 일수를 월과 일로 구분하여 각각 계산
if self.days >= PeriodFromBirth.month_days[self.ubirthday.month-1]:
self.m, self.d = divmod(self.days, PeriodFromBirth.month_days[self.ubirthday\
.month-1])
self.month_cnt += self.m
self.days = self.d
def __str__(self):
return '당신은 태어나서 오늘까지 {0:,}일({1}년 {2}개월 {3}일)을 살았습니다.'\
.format(self.tday.days, self.years, self.month_cnt, self.days)
def main():
pb = PeriodFromBirth(2000, 3, 14)
#print(pb)
tdelta = pb.get_prd_birthday()
main()
[실행 결과]
당신은 태어나서 오늘까지 7,498일(20년 6개월 8일)을 살았습니다.
블로그 인기글
유튜브 영상 등의 URL 주소를 QR코드로 만들기
네이버 QR코드, makeQR, MUST QRcode, 무료 온라인 QRCode 생성기 등의 웹사이트에서 유튜브 영상 등의 URL을 입력하여 QR코드를 만들 수 있다. QR코드를 생성할 수 있는 사이트와 프로그램 URL 주소를 붙여넣기 한 후 "QR 코드 생성" 버튼을 클릭하면 큐알코드가 이미지로 생성되고, 다운로드도 할 수 있는 사이트 https://truedoum.com/useful/qrcode/ # 유튜브에서 동영상 URL을 복사하는 방법 유튜브에서 QR코드를 만들 동영상을 검색한다. 해당 동영상을 클릭한다. 동영상 위에서 마우스 우클릭 후 나오는 팝업창에서 “동영상 URL 복사”를 클릭하거나 영상 하단의 “공유”를 클릭하여 나온 창에서 URL를 복사한다. 아래의 웹사이트 중 하나를 선택한 후 복사..
goodthings4me.tistory.com
폐업 신고 절차와 부가가치세 신고하는 방법
폐업 신고 시 세무서 안 가고 온라인으로 신고하는 방법인 '국세청 홈택스를 이용하여 폐업 신고하는 절차와 폐업 후 해야 하는 부가가치세 신고, 인건비 저리, 종합소득세 신고 등에 대해 포스팅합니다. 폐업 신고 시 홈택스 이용하는 방법과 부가가치세 등 신고 절차 여러가지 사유로 폐업을 해야 할 때, 예전에는 세무서를 방문해야 했지만 국세청 홈택스가 생긴 이후에는 사업자 등록이나 폐업 등을 인터넷으로 할 수가 있게 되었습니다. 특히, 코로나 시국인 요즘은 더더욱 온라인 신청 업무가 더 활성화되었죠. 폐업을 한다는 것 자체가 우울한 일인데, 발품을 파는 것보다는 커피 한잔 하면서 인터넷으로 간단하게 처리하는 게 좋을 듯하여 그 절차를 올려봅니다. 폐업은 폐업 신고와 함께 폐업 후 절차까지 모두 마쳐야 불이익이..
goodthings4me.tistory.com
Windows 10 탐색기 느려지는 증상과 해결하는 방법
잘 작동하던 Windows 10 탐색기가 갑자기 느려지는 증상이 발생했을 때 어떻게 조치를 하는지 구글에서 찾아보니 많은 해결책들이 있었으나 어떤 것이 정확한 해결책인지는 알 수가 없었다. 그래서 해결방법이라고 제시한 것들을 정리해 보았다. 윈도우 탐색기가 느려지는 증상 해결 방법 어느 순간부터 응용프로그램(VS Code 등)에서 폴더 열기나 파일 불러오기를 했을 때 검색 팝업창이 안 뜨거나 열리는 시간이 엄청 느려지는 증상과, 더불어서 탐색기도 실행이 많이 느려지는 증상이 있었다. 기존에 사용하던 VS Code에 openpyxl 설치 후 실행이 느려지는 증상이 발생하더니 윈도우10 탐색기도 느려져서 사용할 수가 없었다. 노트북에 OS(Windows10)를 설치한지 1년이 다 되어가긴 했지만, 1개월 전..
goodthings4me.tistory.com
'코딩 연습 > 코딩배우기' 카테고리의 다른 글
[python] 파이썬 문자열 관련 함수들 (0) | 2020.09.27 |
---|---|
[python] 파이썬으로 비밀번호 유효성 검사하는 코딩하기 (0) | 2020.09.24 |
[django] 파이썬 Django(장고) 템플릿 문법 (0) | 2020.09.22 |
[python] 파이썬 스페셜 메소드 (Special Method) 사용 예제 (0) | 2020.09.22 |
[python] 파이썬 재귀함수, 람다 함수 연습 (0) | 2020.09.21 |
댓글