반응형
달팽이 배열 만들어 출력하기
글. 오상문 sualchi@daum.net
n = 0 # 숫자 1, 2, 3, ...
step = 1 # 증가/감소 크기: 1, -1
y = 0 # 줄 위치
x = -1 # 칸 위치 (배열 선두보다 한칸 앞)
size = 5 # 배열 크기 (5*5 배열)
arr = [[0]*size for i in range(size)] # 2차원 배열 구조
while True:
for _ in range(size): # 몇 칸 진행할까
n += 1
x += step
arr[y][x] = n
size -= 1
if size < 1: # 출력할 게 없으면 종료
break
for _ in range(size): # 몇 줄 진행할까
n += 1
y += step
arr[y][x] = n
step = -step # 증감 방향을 반대로
# 2차원 리스트 출력하기
for line in arr:
for n in line:
print('%3d'%n, end = '')
print()
[실행 결과]
1 2 3 4 5
16 17 18 19 6
15 24 25 20 7
14 23 22 21 8
13 12 11 10 9
<이상>
반응형
'Python 기초' 카테고리의 다른 글
파이썬, float 무한대 표기와 int 형 최대 최소 값 (0) | 2021.02.15 |
---|---|
파이썬, 시간 지연하기(delay) time.sleep() (0) | 2021.02.15 |
파이썬 리스트를 문자열로, 문자열을 리스트로 변환하기 (0) | 2021.02.15 |
파이썬, "Hello, world!" 10줄 출력하는 여덟 가지 예제 (0) | 2021.02.14 |
파이썬, reduce를 이용한 평균, 분산, 팩토리얼 계산 (0) | 2021.02.06 |