여름에 한 발자국 내딛어 스타워즈를 진행하다

11277 단어 Python3Python

개시하다


이 글은 Life is Tech! Tokai Mentors Advent Calendar 2018 22일째 되는 글이다.
크리스마스까지 3일 남았는데.여러분 크리스마스 계획 있으세요?
이번에는 눈앞의 크리스마스에 갇힌 것이 아니라 내년 여름을 즐기는 기술을 얻기 위해 쓴 기사다.
(부가 달력의 취지를 완전히 무시한 것 같으니 용서해 주세요.)

여름을 즐겨야 되나?


여름하면 연애, 굴레, 프로그래밍!!
이 매력적인 신영화는 모두가 알고 있는 스튜디오 지도여름 대작전!

여름 대작전
어느 날, 사쿠오와 함께 OZ 보수점검 아르바이트를 하던 고등학교 2학년 켄지는 동경하는 선배 하희에게 하희의 고향에 아르바이트를 요청받았다.하희의 증조모인 영 할머니의 90번째 생일을 축하하기 위해 26명의 친족이 모였고, 건이는 의외로 영을 위해'하희의 약혼녀'로 가장했다.(위키백과-여름대작전)
이야기는 이렇게 시작되었다.
여름 대작전처럼 여름방학에 시골에 내려가 대가족의 굴레를 느끼고, 천재 프로그래머의 고조를 만나면 하희 선배와 연애하고 싶은 독자가 많을 것이다.
그러기 위해서는 먼저 건이와 같은 수학 능력을 습득하는 것을 1단계로 삼아야 한다...나는 이렇게 말하고 싶지만 수학 올림픽 수준에 도달하기는 쉽지 않겠지.
다행히도 우리는 프로그래밍의 또 다른 힘이 있으니, 그 힘을 마음껏 발휘해 주십시오.
이번에는 건이가 하희 선배 생일부터 요일을 계산해 보여주는 장면을 재현해 무더운 여름을 보내는 첫걸음을 내딛고자 한다.

날짜를 요일로 계산하다


데이터 시간 사용 방법


psyhon3에datetime라는 모듈이 있기 때문에 사용하면 요일을 한 번에 구할 수 있습니다.
# coding:utf-8
import sys
from datetime import *
from time import *


def main():
    print('先輩の誕生日いつですか?')
    year = input('年:')
    month = input('月:')
    day = input('日:')

    week = ['月','火','水','木','金','土','日']

    input_date = year + '/' + month + '/' + day
    date = datetime.strptime(input_date,'%Y/%m/%d')
    print(week[date.weekday()]+'曜日です。')
    print(str(year) +'年'+str(month) + '月'+ str(day) +'日は'+ str(week[date.weekday()])+'曜日でした。')


if __name__ == '__main__':
    main()
실행 결과는 다음과 같다. 영화 속의 그 장면도 재현할 수 있다.
그렇게 말하지만 실제로 만났는지 알기 어려워서 오늘 날짜도 해봤어요.

모듈 계산을 하는 방법(츠제라의 공식)


모듈을 사용하면 요일을 간단하게 요구할 수 있다는 것을 알지만 너무 간단해서 아무래도 지루하다.
따라서 입력한 날짜부터 요일을 계산하는 방법공식 사이트을 사용한다.
작품에서 건이가 사용한 것도 아마도 이 방법일 것이다.
공식 내용을 마음에 둔 사람은 상술한 링크에서 확인하세요.
# coding:utf-8
from decimal import *

if __name__ == '__main__':
    print('先輩の誕生日いつですか?')
    year = int(input('年:'))
    month = int(input('月:'))
    day = int(input('日:'))

    if month <= 2:
        month = month + 12

    year = str(year - 1)
    C = Decimal(int(year[0:2]))
    Y = Decimal(int(year)%100)
    F = day + (26*(month+1)/10) + int(Y) + (int(Y)/4) - 2*int(C) + (int(C)/4)
    X = (F % 7)
    week = ['土','日','月','火','水','木','金']
    print(week[int(X)]+'曜日です')
    print(str(year) +'年'+str(month) + '月'+ str(day) +'日は'+ str(week[int(X)])+'曜日でした。')

이 결과도 옳은 것 같다.
결과는 같지만 코드를 보니'ェェ'이라는 공식을 사용하는 게 좋을 것 같다.

총결산


나도 고등학교 때 하희 선배 만나고 싶었는데...
아니면 지금이라도 고조가 되고 싶다고.여러 가지 의미에서

마지막 그대


단도직입적으로
"잘 부탁드려요 아아아아아아아아아아!!"

좋은 웹페이지 즐겨찾기