코딩도장 python 16~19장
16장. for와 range사용하기
For문
- 반복 횟수가 정해져 있을 때 주로 사용
17장. While 반복문 사용하기
While문
- 조건식으로만 동작하며 반복할 코드 안에 조건식에 영향을 주는 변화식이 들어감
1
2
3
4
i = 0 # 초기식
while i < 100: # while 조건식
print('Hello, world!') # 반복할 코드
i += 1 # 변화식
Random
1
2
3
4
5
6
7
random.randint(1,6)
>>> 4
# 1~6사이의 난수 생성
dice = [1,2,3,4,5,6]
random.choice(dice)
>>> 1
# 시퀀스 객체에서 요소를 무작위로 선택
변수 두개 반복하기
1
2
3
while i <= 32 or j >= 1:
i *= 2
j -= 1
18장. break, continue로 반복문 제어하기
break
- 제어흐름을 중단하고 빠져나옴
1
2
3
4
5
6
7
8
9
10
11
i = 0
while True: # 무한 루프
print(i)
i += 1 # i를 1씩 증가시킴
if i == 100: # i가 100일 때
break # 반복문을 끝냄. while의 제어흐름을 벗어남
for i in range(10000): # 0부터 9999까지 반복
print(i)
if i == 100: # i가 100일 때
break # 반복문을 끝냄. for의 제어흐름을 벗어남
continue
- 제어흐름을 유지한 상태에서 코드의 실행만 건너뛰는 역할
1
2
3
4
5
6
7
8
9
10
11
for i in range(100): # 0부터 99까지 증가하면서 100번 반복
if i % 2 == 0: # i를 2로 나누었을 때 나머지가 0면 짝수
continue # 아래 코드를 실행하지 않고 건너뜀
print(i)
i = 0
while i < 100: # i가 100보다 작을 때 반복. 0부터 99까지 증가하면서 100번 반복
i += 1 # i를 1씩 증가시킴
if i % 2 == 0: # i를 2로 나누었을 때 나머지가 0이면 짝수
continue # 아래 코드를 실행하지 않고 건너뜀
print(i)
pass
- for, while에서 아무 일도 하지 않지만, 반복문의 형태를 유지하고 싶을 때
1
2
3
4
5
for i in range(10): # 10번 반복
pass # 아무 일도 하지 않음
while True: # 무한 루프
pass # 아무 일도 하지 않음
19장. 중첩 루프 사용하기
2중 루프
- i를 사용하는 바깥쪽 루프는 세로방향을 처리
- j를 사용하는 안쪽 루프는 가로방향을 처리
1
2
3
4
5
6
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는 기본적으로 출력 후 다음 줄로 넘어감)
대각선 별찍기
1
2
3
4
5
6
7
for i in range(5):
for j in range(5):
if( j == i ):
print("*", end="")
else:
print(" ", end = "")
print()
역삼각형 별찍기
1
2
3
4
5
6
7
for i in range(5):
for j in range(5):
if(j < i):
print(" ", end = "")
else:
print("*", end = "")
print()