for i in range(5): # 5번 반복. 바깥쪽 루프는 세로 방향
for j in range(5): # 5번 반복. 안쪽 루프는 가로 방향
print('j:', j, sep='', end=' ') # j값 출력. end에 ' '를 지정하여 줄바꿈 대신 한 칸 띄움
print('i:', i, '\\n', sep='') # i값 출력, 개행 문자 모양도 출력
# 가로 방향으로 숫자를 모두 출력한 뒤 다음 줄로 넘어감
# (print는 기본적으로 출력 후 다음 줄로 넘어감)
실행 결과
for i in range(5): # 0부터 4까지 5번 반복. 세로 방향
for j in range(5): # 0부터 4까지 5번 반복. 가로 방향
if j <= i: # 세로 방향 변수 i만큼 (j : 0, i : 0 -> 한바퀴, j : 1, i : 1 -> j 0, 1 두바퀴)
print('*', end='') # 별 일렬 출력. end에 ''를 지정하여 줄바꿈을 하지 않음
print() # 가로 방향으로 별을 다 그린 뒤 다음 줄로 넘어감
# (print는 출력 후 기본적으로 다음 줄로 넘어감)
for i in range(5): # 0부터 4까지 5번 반복. 세로 방향
for j in range(5): # 0부터 4까지 5번 반복. 가로 방향
if j == i: # 세로 방향 변수와 같을 때
print('*', end='') # 별 출력. end에 ''를 지정하여 줄바꿈을 하지 않음
else: # 세로 방향 변수와 다를 때
print(' ', end='') # 공백 출력. end에 ''를 지정하여 줄바꿈을 하지 않음
print() # 가로 방향으로 별을 다 그린 뒤 다음 줄로 넘어감
# (print는 출력 후 기본적으로 다음 줄로 넘어감)
산 모양 별 출력
height = int(input())
for i in range(height):
for j in reversed(range(height)):# 공백먼저 출력하고 뒤에 별을 출력하기 위해 reversed사용
if j > i:
print(' ' ,end='')
else:
print('*',end='')
# 여기까지가 산 모양 별의 절반 왼쪽 부분.
for j in range(height): # 산 모양 절반 오른쪽 부분.
if j < i: #꼭대기는 위에서 만들어줬으니 2층부터 한개씩 출력해야한다.
# i:0, j:0으로 시작해 1층은 안찍힘, 2층부터 끝(height-1)까지 순차로 별이 출력
print('*',end='')
print()
3의 배수에는 Fizz 5의 배수에는 Buzz, 3과 5의 공배수는 FizzBuzz 출력
for i in range(1, 101):
if i % 3 == 0 and i % 5 == 0:
# 이 조건이 아래 있으면 30일 경우 3의 배수 조건에 걸려서 여기까지 도달하지 않는다.
# 5의 배수도 마찬가지. 제일 먼저 통과하게 해야함
# if i % 15 == 0: 이 코드는 15가 무슨 의미인지 바로 판단하기 어렵다. 가독성 ↓
print('FizzBuzz')
elif i % 3 == 0:
print('Fizz')
elif i % 5 == 0:
print('Buzz')
else:
print(i)
코드 줄이기(실무에서는 지양)
for i in range(1, 101): print('Fizz' * (i % 3 == 0) + 'Buzz' * (i % 5 == 0) or i) # 문자열 곱셈과 덧셈을 이용하여 print 안에서 처리
문자열을 곱하거나 더할 수 있는 기능을 사용
>> 'Fizz' + 'Buzz' 'FizzBuzz' >> 'Fizz' * True 'Fizz' >> 'Fizz' * False ''
해당 조건(i % 3 == 0)을 만족하면 True로 곱한 문자 출력, 나머지조건 False로 출력 되지 않음. 둘 다 True일 경우 +연산자로 문자를 더해서 FizzBuzz 출력. 둘 다 False일 경우 or로 넘어가서 i 출력
입력값 두개 받고 5의 배수이면 Fizz 7의 배수이면 Buzz 둘의 공배수면 FizzBuzz 출력
start,end=map(int,input().split(' '))
# input여러개 받을 때 변수 여러개 지정하는 걸 잊음
for i in range(start, end+1):
if i % 5 == 0 and i % 7 == 0:
print('FizzBuzz')
elif i % 5 == 0:
print('Fizz')
elif i % 7 == 0:
print('Buzz')
else:
print(i)
임포트하기
>>> import turtle as t
>>> t.shape('turtle')
거북이 조종하기
앞으로 이동: forward, fd
뒤로 이동: backward, bk, back
왼쪽으로 회전: left, lt
오른쪽으로 회전: right, rt
정사각형 그리기
import turtle as t t.shape('turtle') t.fd(100) t.rt(90) t.fd(100) t.rt(90) t.fd(100) t.rt(90) t.fd(100)
다각형 그리기
import turtle as t n = int(input()) # 사용자의 입력을 받음 t.shape('turtle') for i in range(n): # n번 반복 t.forward(100) t.right(360 / n) # 360을 n으로 나누어서 외각을 구함
다각형 색칠하기
import turtle as t n = 6 # 육각형 t.shape('turtle') t.color('red') # 펜의 색을 빨간색으로 설정 t.begin_fill() # 색칠할 영역 시작 for i in range(n): # n번 반복 t.forward(100) t.right(360 / n) # 360을 n으로 나누어서 외각을 구함 t.end_fill() # 색칠할 영역 끝
복잡한 도형 그리기
import turtle as t n = 60 # 원을 60번 그림 t.shape('turtle') t.speed('fastest') # 거북이 속도를 가장 빠르게 설정 for i in range(n): t.circle(120) # 반지름이 120인 원을 그림 t.right(360 / n) # 오른쪽으로 6도 회전
import turtle as t t.shape('turtle') t.speed('fastest') # 거북이 속도를 가장 빠르게 설정 for i in range(300): # 300번 반복 t.forward(i) # i만큼 앞으로 이동. 반복할 때마다 선이 길어짐 t.right(91) # 오른쪽으로 91도 회전