Python 28 - (복습) 반복문

2021. 5. 20. 17:49python

반응형

While 문

treeHit = 0
while treeHit < 10:
    treeHit = treeHit + 1
    print("나무를 %d번 찍었습니다." % treeHit)
    if treeHit == 10:
    	print("나무 넘어갑니다.")
----------------------------------------------------------
coffee = 10
money = 300
while money:
    print("돈을 받았으니 커피를 줍니다.")
    coffee = coffee - 1
    print("남은 커피의 양은 %d개 입니다." % coffee)
    if not coffee:
        print("커피가 다 떨어졌습니다. 판매를 중단합니다.")
        break      # break가 중요!
        
-------디버깅 했을때 결과 아래 표시---------
돈을 받았으니 커피를 줍니다.
남은 커피의 양은 9개 입니다.
돈을 받았으니 커피를 줍니다.
남은 커피의 양은 8개 입니다.
돈을 받았으니 커피를 줍니다.
남은 커피의 양은 7개 입니다.
돈을 받았으니 커피를 줍니다.
남은 커피의 양은 6개 입니다.
돈을 받았으니 커피를 줍니다.
남은 커피의 양은 5개 입니다.
돈을 받았으니 커피를 줍니다.
남은 커피의 양은 4개 입니다.
돈을 받았으니 커피를 줍니다.
남은 커피의 양은 3개 입니다.
돈을 받았으니 커피를 줍니다.
남은 커피의 양은 2개 입니다.
돈을 받았으니 커피를 줍니다.
남은 커피의 양은 1개 입니다.
돈을 받았으니 커피를 줍니다.
남은 커피의 양은 0개 입니다.
커피가 다 떨어졌습니다. 판매를 중단합니다.

----------------------------------------------------------
a = 0
while a < 10:
    a = a+1 
    if a % 2 == 0:  
	      continue      
    print(a)
    
2로 나누었을 때 나오는 나머지 값(1/2=나머지값이 생김
0이 아니므로 출력 반대로 2/2=은 나머지값이 없으므로 0이여서 continue 가 실행 되어서 
맨 처음으로 돌아감 
continue 를 만나면 다시 맨처음으로 올라간다. 

디버깅 한 결과 값 ---> 1 3 5 7 9
1/2= 나머지값이 생기고 결국 0이 아니므로 출력
2/2= 나머지값이 0이므로 continue 가 실행되어서 맨 처음으로 돌아감
----------------------------------------------------------
무한루프
while True:
	print("안녕하세요")
멈추는 방법을 ctrl + c

For 문

test_list = ['one', 'two', 'tree']
for i in test_list:
    print(i)
---> one two three가 각각 한줄 씩 출력된다.
----------------------------------------------------------
a = [(1, 2), (3, 4), (5, 6)]
for (first, last) in a:
    print(first+last)
--->  3 7 11 이 각각 한줄 씩 출력된다.
(a,b) = (1,2) 와 같은 맥락
in이 있으면 하나씩 값을 한줄씩 뺴서 출력한다.
----------------------------------------------------------
marks = [90, 25, 67, 45, 80]
number = 0
for mark in marks:
    number = number + 1
    if mark >= 60:
        print("%d번 학생은 합격입니다." % number)
    else:
        print("%d번 학생은 불합격입니다." % number)
marks 에서 하나씩 빼서 실행하는 것이니 mark로 작성
출력값
1번 학생은 합격입니다.
2번 학생은 불합격입니다.
3번 학생은 합격입니다.
4번 학생은 불합격입니다.
5번 학생은 합격입니다.
----------------------------------------------------------
marks = [90, 25, 67, 45, 80]
number = 0
for mark in marks:
    number = number + 1
    if mark < 60:
        continue
    print("%d번 학생 축하합니다. 합격입니다." % number)
countinue 는 출력이 안되고 다시 처음으로 되돌아감.
출력값
1번 학생 축하합니다. 합격입니다.
3번 학생 축하합니다. 합격입니다.
5번 학생 축하합니다. 합격입니다.
----------------------------------------------------------
sum = 0
for i in range(1, 11):    #range는 1이상 11미만 이라는 뜻이다.
    sum = sum + i
    print(i)
print(sum)   ----> 출력값은 55가 된다. 1~10까지 전부 더한 값.
----------------------------------------------------------
이중for문
for i in range(2, 10):
    for j in range(1, 10):
        print(i*j, end=" ")    #end=" " 는 옆으로 띄어쓰기!!
    print(' ')
출력값
2 4 6 8 10 12 14 16 18  
3 6 9 12 15 18 21 24 27  
4 8 12 16 20 24 28 32 36  
5 10 15 20 25 30 35 40 45  
6 12 18 24 30 36 42 48 54  
7 14 21 28 35 42 49 56 63  
8 16 24 32 40 48 56 64 72  
9 18 27 36 45 54 63 72 81
반응형