파이썬으로 작성된 달력 코드를 가로로 두줄로 나타내고 싶은데 어떻게 바꿔야할까요
조회수 1582회
달력 모듈을 쓰지 않고 만들고싶어서 이렇게 작성했는데 결과가 세로로 한줄로 나옵니다. 이걸 두줄짜리 가로로 만들 수 있는 방법이 있을까요
calender = [('January', range(1, 31 + 1)),
('Feburary', range(1, 28 + 1)),
('March', range(1, 31 + 1)),
('April', range(1, 30 + 1)),
('May', range(1, 31 + 1)),
('June', range(1, 30 + 1)),
('July', range(1, 31 + 1)),
('August', range(1, 31 + 1)),
('September', range(1, 30 + 1)),
('October', range(1, 31 + 1)),
('November', range(1, 30 + 1)),
('December', range(1, 31 + 1))]
week = ['Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa', 'Su']
def make_calendar(year, start_day):
"""
make_calendar(int, str) --> None
"""
# 달력 시작 위치
start_pos = week.index(start_day)
#윤년인지 아닌지 결정
if is_leap(year):
calender[1] = ('Feburary', range(1, 29 + 1))
for month, days in calender:
# Print month title
print('{0} {1}'.format(month, year).center(20, ' '))
# Print Day headings
print(''.join(['{0:<3}'.format(w) for w in week]))
# Add spacing for non-zero starting position
print('{0:<3}'.format('')*start_pos, end='')
for day in days:
# Print day
print('{0:<3}'.format(day), end='')
start_pos += 1
if start_pos == 7:
# If start_pos == 7 (Sunday) start new line
print()
start_pos = 0 # Reset counter
print('\n')
def is_leap(year):
"""Checks if year is a leap year"""
if year % 4 == 0:
if year % 100 == 0:
if year % 400 == 0:
return True
else:
return False
else:
return True
else:
return False
yr=int(input('Enter Year'))
strtday=input('Enter start day of the year Mo,Tu,We,Th,Fr,Sa,Su')
make_calendar(yr,strtday)
-
(•́ ✖ •̀)
알 수 없는 사용자
댓글 입력