프로그램은 반복+제어로 실행됩니다.
표현할 수 있는 반복 유형 범위
for i in [0, 1, 2, 3, 4, 5]:
print(i)
# 예제
# list 예시
texts = ["아아", "이이", "씨", "뱅", "큐"]
for text in texts:
print(text)
'''
아아
이이
씨
뱅
큐
'''
# str 예시
texts = "아이씨뱅큐"
for text in texts:
print(text)
'''
아
이
씨
뱅
큐
'''
# 문자열에서는 한글자씩 합쳐진 문자열을 하나의 배열로 치고 각 글자들을 index 단위로 판단
# 배열에서는 몇글자씩 합쳐지든 각 배열의 index단위로 판단
# 즉, 문자열 "abc"에서 "" = [], [0] = a, [1] = b, c = [2]라고 이해
#=====================================================
# 중첩리스트(이중리스트)
users = [
["송한솔", 500],
["마크", 4000],
["조안", 20]
]
print(users) # [['송한솔', 500], ['마크', 4000], ['조안', 20]]
print(users[0]) #['송한솔', 500]
print(users[1]) #['마크', 4000]
print(users[2]) #['조안', 20]
#=====================================================
# int-list
numbers = [3, 5, 7, 9, 12]
circles = []
for r in numbers:
area = r * r * 3.14
circles.append(area)
print("반지름 {}에 원의 넓이는 {}입니다.".format(r, area))
# 반지름 3에 원의 넓이는 28.26입니다.
# 반지름 5에 원의 넓이는 78.5입니다.
# 반지름 7에 원의 넓이는 153.86입니다.
# 반지름 9에 원의 넓이는 254.34입니다.
# 반지름 12에 원의 넓이는 452.16입니다.
print(circles) # [28.26, 78.5, 153.86, 254.34, 452.16]
for i in range(6):
print(i)
#=====================================================
# 예제
# 연속된 숫자 데이터를 만드는 range([start], end[, step])
print(list(range(6)))
print(list(range(1, 6)))
print(list(range(1, 6, 2)))
print("="*20)
# list-for 예제
numbers = [0,1,2,3,4,5]
for n in numbers:
print(n)
print("="*20)
for n in range(0, 6):
print(n)
print("="*20)
# list-for 예제2
numbers = [1, 3, 5, 7, 9]
for n in numbers:
print(n)
for n in range(1, 10, 2):
print(n)
# 특정 숫자 i의 구구단
for i in range(1, 10):
print("{} x {} = {}".format(3, i, 3 * i))
print("="*20)
# 전체 구구단 1~9
for i in range(1, 10):
print("="*20, i, "구구단")
for j in range(1, 10):
print("{} x {} = {}".format(i, j, i * j))
total = 1
while total < 1024:
total *= 2
print(total)
#=====================================================
# 예제 - 몇번을 곱했을까
total = 1
count = 0
while total < 1024: # total이 1024보다 커지면 반복문 종료
total = total * 2
count += 1 # 반복문의 실행횟수를 확인
print(total, count) # 1024, 10
# while condition
number = int(input("0을 입력할 때까지 반복 : "))
while number != 0:
number = int(input("0을 입력할 때까지 반복 : "))
print("종료")
# 0을 반환해야 false가 반환되고 반복문이 종료됨
# 같은 동작 다른 방식
number = int(input("0을 입력할 때까지 반복 : "))
while True:
if number == 0:
break
number = int(input("0을 입력할 때까지 반복 : "))
print("종료")
#=====================================================
# while True 응용
basket = [] # 장바구니
while True:
# if user_input == "0":
# break
basket.append(user_input)
print("추가 : {}".format(basket))
user_input = input("0을 입력할 때까지 반복 :")
print("최종 : {}".format(basket))
# 종료조건을 장바구니의 상품 갯수로 바꾸면?
while True:
user_input = input("0을 입력할 때까지 반복 :")
basket.append(user_input)
print("추가 : {}".format(basket))
if len(basket) >= 3: # 3개 이상이 되면 기입종료
break
print("최종 : {}".format(basket))
다른 코드예시 for문을 while문으로 바꾸기
# for문의 경우
for i in [0, 1, 2, 3, 4, 5]
print(i)
# while문의 경우
numbers = [0, 1, 2, 3, 4, 5]
index = 0
while index < len(numbers):
print(numbers[index])
index += 1
예제 코드
# pass 아무것도 안함, 구조를 지키기 위해서 일단 기입
a = 3
if a > 3:
# 무언가를 하겠다.
pass
# for문 예시
for i in range(1, 10):
if i % 3 == 0:
pass # 3의 배수일 때의 어떤 처리 => 영역확보
# continue
print("="*20)
for i in range(1, 10):
if i % 3 == 0:
continue # 3의 배수일때 해당 반복문을 종료하고 다음 반복문으로 넘어감
print(i)
# break
print("="*20)
for i in range(1, 10):
if i % 3 == 0:
break # 3의 배수 일때 반복문을 중지
print(i)