학교 과제용으로 제작
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
from turtle import*
week = [" 일", " 월", " 화", " 수", " 목", " 금", " 토"]
month_day = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
year = numinput("입력", "연도를 입력하세요") #년도값 입력
if year % 4 == 0 and year % 100 != 0 or year % 400 == 0: #윤년 계산
month_day[1] = 29
last_week = ((year - 1) * 365 + (year - 1) // 4 - (year - 1) // 100 + (year - 1) // 400 + 1) % 7 #해당 년도의 1월 1일 요일(일[0] ~ 토[6])
hideturtle()
speed(0)
penup()
goto(-380, 280)
pencolor("black")
write("%d년" % year, font = ("Arial", 25, "normal")) # 년도 출력
printx, printy, prints, day = -380, 230, "", 1 #출력 x, y좌표, 출력문, 날짜값
for i in range(0, 12): #월 반복문
pencolor("black")
goto(printx, printy)
write("%d월" % int(i+1), font = ("Arial", 14, "normal")) #월 출력
for n in range(0, 7): #달력 가로 반복문
for s in range(0, 7): #달력 세로 반복문
pencolor("black") #색지정
if s == 0:
pencolor("red")
elif s == 6:
pencolor("blue")
goto(printx+s*20, printy-n*20-20) #요일 또는 날짜를 출력할 좌표로 펜 이동
prints = week[s] # 출력할 값을 해당요일로 지정(출력 기본값)
if n>0:
if (n == 1 and s == last_week and day == 1) or (day > 1 and day <= month_day[i]): # 출력 값을 해당날짜로 지정
prints = str(day)
if day < 10: # 오른쪽 정렬을 위해 10 이하일 경우 간격조정
prints = " " + str(day)
day+=1
else:
prints, day = "", 1 # 출력값을 빈칸으로 지정, 날짜값 1로 초기화
write(prints, font = ("Arial", 8, "normal")) # 출력
last_week, printx = (last_week + month_day[i] % 7) % 7, printx + 200 # 시작 요일값 계산(마지막 요일 +1), 출력 x좌표 이동
if printx > 400: #x좌표값이 달력 범위를 벗어날 경우 y좌표 아래로, x좌표 초기화
printx, printy = -380, printy - 210
done()
|
cs |
출력 사진>
'개발 일지' 카테고리의 다른 글
파이썬 tkinter 그래픽으로 슈팅 게임 만들기 2 (0) | 2019.11.22 |
---|---|
파이썬 tkinter 그래픽으로 슈팅 게임 만들기 1 (5) | 2019.11.22 |
GMS2로 RPG 만들기4 - 2019. 10. 14 (4) | 2019.10.14 |
GMS2로 RPG 만들기3 - 2019. 09. 27 (0) | 2019.09.27 |
GMS2로 RPG 만들기2 - 2019. 09. 22 (0) | 2019.09.22 |
댓글