No Description

Lv5-4.py 1.5KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. def totalDayFromCalendar(year, month, day):
  2. dayOfMonth = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30]
  3. i=1
  4. totaldays = 365 * (int(year) - 1)
  5. while i<year:
  6. if i % 4 == 0 and i % 100 != 0 or i % 400 == 0:
  7. totaldays+=1
  8. i += 1
  9. premonth = month - 1
  10. for b in range(len(dayOfMonth)):
  11. if premonth >= (b+1):
  12. totaldays += dayOfMonth[b]
  13. if month > 2 and year % 4 == 0 and year % 100 != 0 or year % 400 == 0:
  14. totaldays +=1
  15. totaldays +=1
  16. totaldays = totaldays + day
  17. return totaldays
  18. def endDayFromTotalDay(year, month):
  19. if month == 2:
  20. lastday = 28
  21. if year % 4 == 0 and year % 100 != 0 or year % 400 == 0:
  22. lastday = 29
  23. else:
  24. lastday = 28
  25. else:
  26. if month == 4 or month == 6 or month == 9 or month == 11:
  27. lastday = 30
  28. else:
  29. lastday = 31
  30. return lastday
  31. def calendar_month(year, month):
  32. yoil = ["일", "월", "화", "수", "목", "금", "토"]
  33. a = totalDayFromCalendar(year, month, 1)
  34. k = endDayFromTotalDay(year,month)
  35. print("%10d 년 %d 월" % (year, month))
  36. for b in range(6):
  37. print("%s" % yoil[b], end=" ")
  38. print("%s" % yoil[-1])
  39. for b in range(1, k+1):
  40. if b == 1:
  41. for c in range(7-(a % 7)):
  42. print("%2s" % " ", end=" ")
  43. if a%7 == 1:
  44. print()
  45. print("%2d" % b, end=" ")
  46. a+=1
  47. y = input("년월을 입력:")
  48. calendar_month(int(y[:4]), int(y[4:6]))