파이썬python 요일 계산 프로그램을 짜 보았다.
드디어 중간고사가 끝났습니다.
하.. 정말 끝나지 않을 것 같던 문제와 씨름하면서 인생에 대해서 다시금 생각해 보게된
뜻깊은 나날이었죠...
2017/04/23 - 파이썬Python 성적 처리 프로그램을 작성해 보았다!
중간 고사 때 쓴 성적 처리 프로그램은
당일날에도 문제없이 잘 작동 했습니다.
하지만, 다음에 주어진 난관이 있으니..
그거슨 바로, 요일 계산 프로그램이었습니다... ㅠㅠㅠㅠㅠㅠㅠㅠ
하, 정말 수학적인 요소를 생각하는건 젬병이라서 머리에 쥐가 날 것 같습니다...
일단은 교수님께서 스타트라인을 끊어 주셨습니다.
year = int(input("연도를 입력하시오 : "))
month = int(input("월을 입력하시오 : "))
day = int(input("일을 입력하시오 : "))
month_days = [0,31,28,31,30,31,30,31,30,31,30,31,30]
total_days = 0
음, 이렇게요
소스는 다 나와있다고 하는데 솔직히 어떻게 건드려야 될지 모르겠습니다...ㅋㅋㅋ
일단 포인트는 윤년을 계산해야 한다는 것이네요
for year_item in range(1, year):
total_days = total_days + 365
if year_item % 400 == 0:
total_days = total_days + 1
elif year_item % 100 == 0:
pass
elif year_item % 4 == 0:
total_days = total_days + 1
else:
pass
400으로 나누어지는 년도는 윤년이고
100으로 나누어지는 년도는 윤년이 아니고
4로 나뉘어지는 년도는 윤년입니다.
이걸 생각해서 if 문을 구성해 보았습니다.
400과 4로 나뉘어 떨어질 때는 +1을 하는 거죠~
게다가 100으로 나뉘어 떨어질 때나 혹은 그 이외의 경우에는
total_days = total_days + 0를 적으면 되나, 아무런 결과를 가져오지 못하는
무의미한 문법이므로
pass를 대신 써 줍니다.
for month_index in range(1, month):
total_days = total_days + month_days[month_index]
total_days = total_days + day
다음은 월을 생각해 볼 차례네요
월은 위의 month_days = [0,31,28,31,30,31,30,31,30,31,30,31,30] 에서 값을 가져와서 대입하는 식으로
계산하게 됩니다.
그 다음이 날을 계산하는 문법!
이렇게 나열해 놓으니 은근히 쉬운것 같긴한데..
막상 만들어 보라면 눈 앞이 캄캄하겠지요 ㅠㅠㅠㅠㅠㅠ
print(year,"년",month,"월",day,"일", total_days)
print(total_days % 7)
마지막, 값을 도출하는 부분입니다.
여기에서 0이 나오면 일요일 1이 나오면 월요일 ~~이란 식입니다.
하지만!
이 프로그램에는 중대한 논리적 오류가 있습니다!!
이 논리적 오류를 찾고 풀어오라는 것이
이번 과제의 내용인데요.. 한 번 깊은 고민을 해 봐야겠습니다....
-
'IT 이것저것 > 파이썬python' 카테고리의 다른 글
파이썬python 함수란 무엇인가? (0) | 2017.05.14 |
---|---|
파이썬python 요일 계산 프로그램을 짜 보았다. - 완성편 (0) | 2017.05.02 |
파이썬Python 반복문, for문에 대해서 알아보자! (0) | 2017.04.24 |
파이썬Python if문 반복학습 / 줄여서 elif?! (0) | 2017.04.23 |
파이썬Python 성적 처리 프로그램을 작성해 보았다! (0) | 2017.04.23 |
댓글