for 변수 in 컨테이너(리스트 또는 튜플, 문자열):
수행할 문장1
수행할 문장2
...
예시)
num_list = [1,2,3,4]
for i in num_list :
print (i)
1
2
3
4
a = range (5)
print (a) // range (0,5)
a=range (5)
for n in a:
print (n)
0
1
2
3
4
for n in range (5):
print (n)
0
1
2
3
4
for n in range (3,5):
print (n)
3
4
for n in range (1,9):
for m in range (1,9):
print('{ } x { } = { }'. format(n, m, n*m))
위를 하면 구구단 실행
반복문 중첩해서 사용할 때 두번째 for에 들여쓰기 (띄어쓰기 4칸) 해주고 print할 때 들여쓰기 두번 (띄어쓰기 4칸 x 2) 해주기
리스트를 만드는 간결한 방법
만약 빈 리스트가 있다고 하면
list = [ ]
print(list) = [ ]
위 리스트에 숫자를 추가할 때
for n in range (10) :
list.append(n+1)
위와 같은 방식으로 한다
이 경우 print(list) = [1, 2, 3, ..., 9, 10]
img ref) https://wikidocs.net/22805
위의 리스트에 값을 추가하는 방법을 컴프리헨션을 이용하면
list = [n+1 for n in range (10)]
print(list) = [1, 2, 3, ..., 9, 10]
count += 1 # count = count + 1
a ** b # a의 b제곱
a // b # a나누기 b의 몫
a % b # a나누기 b의 나머지
list = range(1,10)
for n in list :
if n % 2 == 1:
print (n, ' : 홀수')
else :
print (n, ' : 짝수')
1 : 홀수
2 : 짝수
3 : 홀수
4 : 짝수
5 : 홀수
6 : 짝수
7 : 홀수
8 : 짝수
9 : 홀수
name = "Jina"
print (name + '의 파이썬 공부') // Jina의 파이썬 공부
print (name * 5) // JinaJinaJinaJinaJina
name = "Jina"
print ((name+'! ') * 5) // Jina! Jina! Jina! Jina! Jina!
비교 할 때 사용 되는 연산자
결과는 참(True)과 거짓(False)
왼쪽과 오른쪽이 같은 지 비교 : ==
print (1==1) // True
print (1==2) // False
왼쪽과 오른쪽이 다른 지 비교 : !=
print (1!=1) // False
print (1!=2) // True
왼쪽이 더 큰 지 비교 : >
print (1>1) // False
print (1>2) // False
print (2>1) // True
오른쪽이 더 큰 지 비교 : <
print (1<1) // False
print (1<2) // True
print (2<1) // False
왼쪽이 더 크거나 같은 지 비교 : >=
print (1>=1) // True
print (1>=2) // False
print (2>=1) // True
오른쪽이 더 크거나 같은 지 비교 : <=
print (1<=1) // True
print (1<=2) // True
print (2<=1) // False
and : 둘 다 True일 때에만 True
print (True and True) // True
print (True and False) // False
print (False and False) // False
or : 한 쪽이라도 True면 True
print (True or True) // True
print (True or False) // True
print (False or False) // False
not : True면 False, False면 True
print (not True) // False
print (not False) // True
animal = ['범고래', '강아지', '고양이', '토끼', '거북이', '상어']
print ('물개' in animal) // False
print ('범고래' in animal) // True
print ('물개' not in animal) // True
print ('범고래' not in animal) // False
if 조건문 :
수행할 문장1
수행할 문장2
...
조건문을 테스트해서 True면 if문 바로 다음 문면 (if 블록)들을 수행
name = "Jina"
if name == 'Jina' :
print ('Hello '+ name) // Hello Jina
number = [3,6,7,9,11,12,14,22]
for i in number:
if i % 3 == 0:
print ( i, '는 3의 배수')
elif i % 7 == 0:
print ( i, '는 7의 배수')
else:
print ( i, '는 11의 배수')
3 는 3의 배수
6 는 3의 배수
7 는 7의 배수
9 는 3의 배수
11 는 11의 배수
12 는 3의 배수
14 는 7의 배수
22 는 11의 배수
while <조건문>:
<수행할 문장1>
<수행할 문장2>
<수행할 문장3>
...
while문은 조건문이 참인 동안에 while문 아래의 문장이 반복해서 수행
10번 찍어 안넘어가는 나무 없다를 while문으로
treeHit = 0
while treeHit < 10 :
treeHit+=1
print ( '나무를',treeHit,'번 찍었습니다.')
if treeHit == 10 :
print ( '나무를',treeHit,'번 찍었습니다.\n나무가 넘어갑니다.')
나무를 1 번 찍었습니다.
나무를 2 번 찍었습니다.
나무를 3 번 찍었습니다.
나무를 4 번 찍었습니다.
나무를 5 번 찍었습니다.
나무를 6 번 찍었습니다.
나무를 7 번 찍었습니다.
나무를 8 번 찍었습니다.
나무를 9 번 찍었습니다.
나무를 10 번 찍었습니다.
나무를 10 번 찍었습니다.
나무가 넘어갑니다.
a=0
while a<10:
a=a+1
if a % 2 == 0 :
continue
print (a)
1
3
5
7
9
만약 a % 2 == 0 을 만족하면 continue로 넘어감 다시 조건문으로( print (a)의 과정을 거치지 않음)
coffee = 10
while coffee <= 10:
print ('남은 커피', coffee, '잔')
coffee = coffee-1
if coffee == 0 :
print ('sold out')
break
남은 커피 10 잔
남은 커피 9 잔
남은 커피 8 잔
남은 커피 7 잔
남은 커피 6 잔
남은 커피 5 잔
남은 커피 4 잔
남은 커피 3 잔
남은 커피 2 잔
남은 커피 1 잔
sold out
만약 break를 쓰지 않았다면
coffee == 0 sold out 이후에도 계속 반복문 진행
남은 커피 -n 잔 까지 쭉 진행됨 (무한 루프)
예시)
count = 0
while count < 10:
count += 1
if count < 4:
continue
print (count)
if count == 8:
break
4
5
6
7
8
while True 이므로 count+1 실행,
if count < 4 True 이므로 continue로 넘어감 (print되지 않고 다시 while문으로)
while True 이므로 count+1 실행,
if count < 4 False 이므로 continue로 넘어가지않고 print (count)로 넘어가서 숫자 print
if count == 8 False이므로 break하지않고 다시 while로 반복
while True 이므로 count+1 실행,
if count < 4 False 이므로 continue로 넘어가지않고 print (count)로 넘어가서 숫자 print
if count == 8 True이므로 break 반복문 종료