Python - if,elif,else,and 문제

pitbull terrier·2020년 5월 31일
0

Python

목록 보기
8/29

시간이 지나서 다시 돌아볼때 이런 문제도 있었구나 하고 나혼자 보려고 작성하는거임.

문제
월(month)와 일(day), 이 2가지를 input 값으로 받았을때, 2019년의 해당 월과 일의 다음 날의 월과 일을 출력해주세요.

예를 들어, month 는 3이고 일은 31이면 2019년 3월 31일의 다음날은 4월 1일 임으로 다음과 같이 출력이 되면 됩니다.
(월 과 일을 각각 다른 줄에 출력 해주세요)

ex)
4
1

일단 생각나는대로 정리를 해보았다.

1.2019년이라는것
2.2019년에 31일인 달이 1월,3월,5월,7월,8월,10월,12월
3.2019년에 30일인 달이 4월,6월,9월,11월
4.2019년에 28일인 달이 2월
5.예를 들어 1월1일을 입력하면 1월2일이 출력되고 1월 31일을 입력하면 2월1일이 됨.
6.대충이런식


하나하나씩 풀어보자면..

if (month == 1,3,5,7,8,10) and (day == 31) :	# 만약 month가 1,3,5,7,8,10 같고 day가 31과 같다면
  print(month +1)	# month에 +1을 하여 출력
  print(day -30)	# day에 -30을 하여 출력 
elif (month == 4,6,9,11) and (day ==30) :	#그렇지않고 month가 4,6,9,11 같고 day가 30과 같다면
  print(month +1)	# month에 +1을 하여 출력
  print(day -29)	# day에 -29를 하여 출력
elif (month ==2) and (day ==28) :	#그렇지 않고 month가 2와 같고 day가 28과 같다면
  print(month +1)	#month에 +1을 하여 출력
  print(day -27)	#day에 -27을 하여 출력
else:	# 그게 아니라면
  print(month)	#month를 출력하고
  print(day+1)	#day에 +1을 하여 출력

결과를 보자

1월1일을 입력하면 1월 2일을 출력하고

2월28일을 입력하면 3월1일을 출력하네

잘된것같다.
이런 문제로 하루동안 이걸 어떻게 해야 될까 엄청 생각해서 ㅠㅜ 블로그에 정리하는거 ...
나중에 내가 이런 문제로 삽질을 했구나... 하고 회상하려고 ㅠㅋㅋㅋㅋㅋ

profile
yoonbitnara.github.io

1개의 댓글

comment-user-thumbnail
2021년 7월 7일

12월31일은 어떡하나요? ㅎㅎㅎ

답글 달기