728x90
반응형
# 전체 라인을 위한 변수
line = 9
# 마름모의 중앙 값 소수점이 필요없으므로 몫만 구한다.
half = 9//2
# 공백칸 수
space = 0
# 한 라인에서의 전체 칸 수
step = 0
'필요한 변수는 4가지 > 몇줄, 차지하는칸, 빈칸, 변하는 중심값 '
[ i for문은 공백칸 & 필요칸 수 설정]
for i in range(0, line):
# i값이 중앙 위치에 올 때 까지 ( i = 0,1,2,3,4)
if i <= half:
# 첫 번째 줄에서 별 찍으려면 전체 칸보다 공백이 하나 적어야해서 마지막에 1을 더 뺌
space = line - i - 1
# 전체 칸은 그냥 1개씩 증가하면 되니, i를 더한다
step = line + i
else:
# 중앙 값보다 커질 때부터는 공백이 늘고 전체 칸 수가 줄어든다. ( i = 5,6,7,8)
space = space + 1
step = step - 1
[ j for문은 설정된 공백칸 & 필요칸 가지고 출력]
*
***
*****
*******
*********
*******
*****
***
*
for j in range(0, step):
if j < space:
print(' ', end='')
else:
print('*', end='')
# 칸을 다 그림(j포문이 끝났다면...) 그 후에는 라인변경
print()
***
*****
*******
*********
*******
*****
***
*
# FIXME: 1) i=0 / if 0(i) < 4 / 8(space= *앞 공백칸수) = 9 - 0(i) - 1 / 9(step, 한 라인의 전체칸 수) = 9 + 0(i)
# TODO: 1번째 라인) j=0 / step = 9 / space = 8 / 0<8 이므로, 빈칸하나 출력
# TODO: 1번째 라인) j=1 / step = 9 / space = 8 / 1<8 이므로, 빈칸하나 출력
# TODO: 1번째 라인) j=2 / step = 9 / space = 8 / 2<8 이므로, 빈칸하나 출력
# TODO: 1번째 라인) j=3 / step = 9 / space = 8 / 3<8 이므로, 빈칸하나 출력
# TODO: 1번째 라인) j=4 / step = 9 / space = 8 / 4<8 이므로, 빈칸하나 출력
# TODO: 1번째 라인) j=5 / step = 9 / space = 8 / 5<8 이므로, 빈칸하나 출력
# TODO: 1번째 라인) j=6 / step = 9 / space = 8 / 6<8 이므로, 빈칸하나 출력
# TODO: 1번째 라인) j=7 / step = 9 / space = 8 / 7<8 이므로, 빈칸하나 출력
# TODO: 1번째 라인) j=8 / step = 9 / space = 8 / 8<8 이므로, * 출력 > j는 step 앞의 숫자까지만 실행됨
# FIXME: 2) i=1 / if 1(i) < 4 / 7(space= *앞 공백칸수) = 9 - 1(i) -1 / 10(step, 한 라인의 전체칸 수) = 9 + 1(i)
# TODO: 2번째 라인) j=0 / step = 10 / space = 7 / 0<7 이므로, 빈칸하나 출력
# TODO: 2번째 라인) j=1 / step = 10 / space = 7 / 1<7 이므로, 빈칸하나 출력
# TODO: 2번째 라인) j=2 / step = 10 / space = 7 / 2<7 이므로, 빈칸하나 출력
# TODO: 2번째 라인) j=3 / step = 10 / space = 7 / 3<7 이므로, 빈칸하나 출력
# TODO: 2번째 라인) j=4 / step = 10 / space = 7 / 4<7 이므로, 빈칸하나 출력
# TODO: 2번째 라인) j=5 / step = 10 / space = 7 / 5<7 이므로, 빈칸하나 출력
# TODO: 2번째 라인) j=6 / step = 10 / space = 7 / 6<7 이므로, 빈칸하나 출력
# TODO: 2번째 라인) j=7 / step = 10 / space = 7 / 7<7 이므로, * 출력
# TODO: 2번째 라인) j=8 / step = 10 / space = 7 / 8<7 이므로, * 출력
# TODO: 2번째 라인) j=9 / step = 10 / space = 7 / 9<7 이므로, * 출력
# FIXME: 3) i=2 / if 2(i) < 4 / 6(space= *앞 공백칸수) = 9 - 2(i) -1 / 11(step, 한 라인의 전체칸 수) = 9 + 2(i)
# TODO: 3번째 라인) j=0 / step = 11 / space = 6 / 0<6 이므로, 빈칸하나 출력
# TODO: 3번째 라인) j=1 / step = 11 / space = 6 / 1<6 이므로, 빈칸하나 출력
# TODO: 3번째 라인) j=2 / step = 11 / space = 6 / 2<6 이므로, 빈칸하나 출력
# TODO: 3번째 라인) j=3 / step = 11 / space = 6 / 3<6 이므로, 빈칸하나 출력
# TODO: 3번째 라인) j=4 / step = 11 / space = 6 / 4<6 이므로, 빈칸하나 출력
# TODO: 3번째 라인) j=5 / step = 11 / space = 6 / 5<6 이므로, 빈칸하나 출력
# TODO: 3번째 라인) j=6 / step = 11 / space = 6 / 6<6 이므로, * 출력
# TODO: 3번째 라인) j=7 / step = 11 / space = 6 / 7<6 이므로, * 출력
# TODO: 3번째 라인) j=8 / step = 11 / space = 6 / 8<6 이므로, * 출력
# TODO: 3번째 라인) j=9 / step = 11 / space = 6 / 9<6 이므로, * 출력
# TODO: 3번째 라인) j=10 / step = 11 / space = 6 / 10<6 이므로, * 출력
# FIXME: 4) i=3 / if 3(i) < 4 / 5(space= *앞 공백칸수) = 9 - 3(i) -1 / 12(step, 한 라인의 전체칸 수) = 9 + 3(i)
# TODO: 4번째 라인) j=0 / step = 12 / space = 5 / 0<5 이므로, 빈칸하나 출력
# TODO: 4번째 라인) j=1 / step = 12 / space = 5 / 1<5 이므로, 빈칸하나 출력
# TODO: 4번째 라인) j=2 / step = 12 / space = 5 / 2<5 이므로, 빈칸하나 출력
# TODO: 4번째 라인) j=3 / step = 12 / space = 5 / 3<5 이므로, 빈칸하나 출력
# TODO: 4번째 라인) j=4 / step = 12 / space = 5 / 4<5 이므로, 빈칸하나 출력
# TODO: 4번째 라인) j=5 / step = 12 / space = 5 / 5<5 이므로, * 출력
# TODO: 4번째 라인) j=6 / step = 12 / space = 5 / 6<5 이므로, * 출력
# TODO: 4번째 라인) j=7 / step = 12 / space = 5 / 7<5 이므로, * 출력
# TODO: 4번째 라인) j=8 / step = 12 / space = 5 / 8<5 이므로, * 출력
# TODO: 4번째 라인) j=9 / step = 12 / space = 5 / 9<5 이므로, * 출력
# TODO: 4번째 라인) j=10 / step = 12 / space = 5 / 10<5 이므로, * 출력
# TODO: 4번째 라인) j=11 / step = 12 / space = 5 / 11<5 이므로, * 출력
# FIXME: 5) i=4 / if 4(i) < 4 / 4(space= *앞 공백칸수) = 9 - 5(i) -1 / 13(step, 한 라인의 전체칸 수) = 9 + 4(i)
# TODO: 5번째 라인) j=0 / step = 13 / space = 4 / 0<4 이므로, 빈칸하나 출력
# TODO: 5번째 라인) j=1 / step = 13 / space = 4 / 1<4 이므로, 빈칸하나 출력
# TODO: 5번째 라인) j=2 / step = 13 / space = 4 / 2<4 이므로, 빈칸하나 출력
# TODO: 5번째 라인) j=3 / step = 13 / space = 4 / 3<4 이므로, 빈칸하나 출력
# TODO: 5번째 라인) j=4 / step = 13 / space = 4 / 4<4 이므로, * 출력
# TODO: 5번째 라인) j=5 / step = 13 / space = 4 / 5<4 이므로, * 출력
# TODO: 5번째 라인) j=6 / step = 13 / space = 4 / 6<4 이므로, * 출력
# TODO: 5번째 라인) j=7 / step = 13 / space = 4 / 7<4 이므로, * 출력
# TODO: 5번째 라인) j=8 / step = 13 / space = 4 / 8<4 이므로, * 출력
# TODO: 5번째 라인) j=9 / step = 13 / space = 4 / 9<4 이므로, * 출력
# TODO: 5번째 라인) j=10 / step = 13 / space = 4 / 10<4 이므로, * 출력
# TODO: 5번째 라인) j=11 / step = 13 / space = 4 / 11<4 이므로, * 출력
# TODO: 5번째 라인) j=12 / step = 13 / space = 4 / 12<4 이므로, * 출력
# FIXME: 6) i=5 / if 5(i) < 4 / space 5(space = space(4) + 1)=5번째라인의 space값, step = 12(step = step(13) - 1)
# TODO: 6번째 라인) j=0 / step = 12 / space = 5 / 0<5 이므로, 빈칸하나 출력
# TODO: 6번째 라인) j=1 / step = 12 / space = 5 / 1<5 이므로, 빈칸하나 출력
# TODO: 6번째 라인) j=2 / step = 12 / space = 5 / 2<5 이므로, 빈칸하나 출력
# TODO: 6번째 라인) j=3 / step = 12 / space = 5 / 3<5 이므로, 빈칸하나 출력
# TODO: 6번째 라인) j=4 / step = 12 / space = 5 / 4<5 이므로, 빈칸하나 출력
# TODO: 6번째 라인) j=5 / step = 12 / space = 5 / 5<5 이므로, * 출력
# TODO: 6번째 라인) j=6 / step = 12 / space = 5 / 6<5 이므로, * 출력
# TODO: 6번째 라인) j=7 / step = 12 / space = 5 / 7<5 이므로, * 출력
# TODO: 6번째 라인) j=8 / step = 12 / space = 5 / 8<5 이므로, * 출력
# TODO: 6번째 라인) j=9 / step = 12 / space = 5 / 9<5 이므로, * 출력
# TODO: 6번째 라인) j=10 / step = 12 / space = 5 / 10<5 이므로, * 출력
# TODO: 6번째 라인) j=11 / step = 12 / space = 5 / 11<5 이므로, * 출력
# FIXME: 7) i=6 / if 5(i) < 4 / space 1, step = -1
# TODO: 7번째 라인) j=0 / step = -1 / space = 1 / 0<1 이므로, 빈칸하나 출력
# TODO: 7번째 라인) j=1 / step = -1 / space = 1 / 1<1 이므로, 빈칸하나 출력
# FIXME: 8) i=7 / if 5(i) < 4 / space 1, step = -1
# TODO: 8번째 라인) j=0 / step = -1 / space = 1 / 0<1 이므로, 빈칸하나 출력
# TODO: 8번째 라인) j=1 / step = -1 / space = 1 / 1<1 이므로, 빈칸하나 출력
# FIXME: 9) i=8 / if 5(i) < 4 / space 1, step = -1
# TODO: 9번째 라인) j=0 / step = -1 / space = 1 / 0<1 이므로, 빈칸하나 출력
# TODO: 9번째 라인) j=1 / step = -1 / space = 1 / 1<1 이므로, 빈칸하나 출력
728x90
'파이썬' 카테고리의 다른 글
python tkinter 참고 좋은 블로그 (0) | 2022.08.25 |
---|---|
나의 첫 프로젝트 _ 웹 스크래핑 Daily 프로그램 만들기 (0) | 2022.07.30 |
네이버 웹툰의 제목을 터미널로 가져오기(나도코딩, 웹 스크래핑) (0) | 2022.07.04 |
이미지 합치기 프로그램(나도 코딩) (0) | 2022.07.04 |
메모장 만들기(나도 코딩) (0) | 2022.07.04 |
댓글