Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python에서 한 달의 일 수


1년 Y와 월 M이 있다고 가정하면 해당 연도에 해당 월의 일 수를 반환해야 합니다. 따라서 Y =1992이고 M =7이면 결과는 31이 되고 연도가 2020이고 M =2이면 결과는 29가 됩니다.

이 문제를 해결하기 위해 다음 단계를 따릅니다. −

  • m =2이면
    • y가 윤년이면 29를 반환하고 그렇지 않으면 28을 반환합니다.
  • 요소 [1,3,5,7,8,10,12]로 배열 만들기
  • m이 목록에 있으면 31을 반환하고 그렇지 않으면 30을 반환합니다.

예제(파이썬)

더 나은 이해를 위해 다음 구현을 살펴보겠습니다. −

class Solution(object):
   def numberOfDays(self, y, m):
      leap = 0
      if y% 400 == 0:
         leap = 1
      elif y % 100 == 0:
         leap = 0
      elif y% 4 == 0:
         leap = 1
      if m==2:
         return 28 + leap
      list = [1,3,5,7,8,10,12]
      if m in list:
         return 31
      return 30
ob1 = Solution()
print(ob1.numberOfDays(2020, 2))

입력

2020
2

출력

29