딩굴댕굴

Python - 13.WHILE과 FOR

by jennysgap

BOX

WHILE과 FOR


13.1 WHILE
• 반복문


13.1.1 실습

treeHit = 0 while treeHit < 10 : treeHit += 1 print('나무를 {}번 찍었습니다.'.format(treeHit)) if treeHit == 10 : print('나무가 넘어갑니다.')



13.1.2 실습

num = 0
prompt = '''
1. 일반석
2. 고급석
3. vip석
4. 그만두기
'''

while num != 4 :
    print(prompt)
    num = int(input('번호선택:'))


13.1.3 연습문제

num = 0
prompt = '''
1. 일반석
2. 고급석
3. vip석
4. 그만두기
'''

while num != 4 :
    print(prompt)
    num = int(input('번호선택:'))
    if num == 1 :
        print('일반석을 예매합니다.')
    elif num == 2 :
        print('고급석을 예매합니다.')
    elif num == 3 :
        print('vip석을 예매합니다.')


13.2 WHILE BREAK

coffee = 10
money = 300
while money :
    print('돈을 받았으니 커피를 줍니다.')
    coffee -= 1
    print('남은 커피의 양은 {}개 입니다.'.format(coffee))
    if coffee == 0 :
        print('커피가 다 떨어졌습니다. 판매를 중지합니다.')
        break
coffee = 10
while True :
    money = int(input('돈을 넣어주세요:'))
    if money == 300 :
        print('커피를 줍니다.')
        coffee -= 1
    elif money > 300 :
        print('거스름돈 {}원을 주고 커피를 줍니다.'.format(money-300))
        coffee -= 1
    else :
        print('돈을 다시 돌려주고 커피를 주지 않습니다.')
    print('남은 커피의 양은 {}'.format(coffee))
    if coffee == 0 :
        print('커피가 다 떨어졌습니다. 판매를 중지합니다.')
        break


13.3 무한루프

while True :     print('루프를 중지하려면 Ctrl + C 키를 누르세요')


13.4 FOR

• 반복문

리스트, 튜플, 문자열, range만 올 수 있음 (특징 인덱싱이 가능)

• 튜플이나 집합, 리스트 내용을 한번씩 순회할 때 쓰기 좋음


13.4.1 실습

mylist = ['one', 'two', 'three', 'four'] # for 문 for i in mylist : print(i) ''' # while 문으로 변경해보기 cnt = 0 while cnt < len(mylist) : i = mylist[cnt] print(i) cnt += 1 '''


13.4.2 실습

mylist = [(1,2), (3,4), (5,6)] # for 문 for (first,last) in mylist : print(first, last, first+last) ''' # while 문으로 변경 cnt = 0 while cnt < len(mylist) : (first, last) = mylist[cnt] print(first, last, first+last) cnt += 1 '''


13.4.3 실습

scores = [90,25,67,45,80] # for 문 num = 0 for score in scores : num += 1 if score >= 60 : print('{}번 학생은 합격입니다.'.format(num)) else : print('{}번 학생은 불합격입니다.'.format(num)) ''' # while 문으로 변경 cnt = 0 while cnt < len(scores) : if scores[cnt] >= 60 : print('{}번 학생은 합격입니다.'.format(cnt+1)) else : print('{}번 학생은 불합격입니다.'.format(cnt+1)) cnt += 1 '''


13.4.4 실습 (For문을 Wile문으로 변경)

mylist = ['one', 'two', 'three', 'four']
num = 0

while num < 4 :
    print(mylist[num])
    num += 1

'''
while 1 :
    print(mylist[num])
    num += 1
    if num == 4 :
        break
'''


13.5 CONTINUE

scores = [90,25,67,45,80]

# for 문 num = 0 for score in scores : num += 1 if score < 60 : continue        # 다음문장을 실행시키게 넘겨주는 것 print('{}번 학생은 합격입니다.'.format(num))


'''

# while 문으로 변경 cnt = 0 while cnt < len(scores) : if scores[cnt] < 60 : cnt += 1 continue print('{}번 학생은 합격입니다.'.format(cnt+1)) cnt += 1

'''


13.6 RANGE

sum = 0 for i in range(1,11) : sum += i print(sum)

# range(n)     0 <= range(n) < n

# range(s,e) s <= range(s,e) < e

# range(s,e,t) s <= range(s,e,t) < e 간격:t(step)

ex) 기본값은 1임, 2로 바꿀 경우 2씩 증가됨



13.6.1 실습

marks = [90,25,67,45,80]
for num in range(len(marks)) :
    if marks[num] < 60 :
        continue
    print('{}번 학생은 합격입니다.'.format(num+1))


13.6.2 실습

for i in range(2,10) :
    for j in range(1,10) :
        print('{}x{}={}'.format(i,j,i*j), end='\t')
    print()


13.6.3 실습

for i in range(1,6) :
    for j in range(i) :
        print('*', end='')
    print()


13.6.4 연습문제

for i in range(1,10) :
    for j in range(2,10) :
        print('{}x{}={}'.format(j,i,i*j), end='\t')
    print()


13.6.5 연습문제

for i in range(1,6) :
    for l in range(5,i,-1) :
        print(' ', end='')
    for j in range(i) :
        print('*', end='')
    print()


13.6.6 실습

mylist = [0,1,2,3,4,5,6,7,8,9]
newlist = list(range(0,100))
print(newlist)

'''
# for 문으로 변경
newlist = []
for i in range(100) :
    newlist.apeend(i)
print(newlist)
'''
'''
# while 문으로 변경
newlist = []
cnt = 0
while cnt <= 100 :
    newlist.apeend(cnt)
    cnt += 1
print(newlist)
'''


반응형

'BOX' 카테고리의 다른 글

안랩 보안 바로알기 캠페인  (0) 2017.02.03
Python - 복습 겸 연습문제 풀기  (0) 2017.02.02
Python - 12.IF문  (0) 2017.01.31
안랩 정보 수집 중.. (구 자료)  (0) 2017.01.31
사이버 보안 인재센터  (0) 2017.01.31

블로그의 정보

jennysgap

jennysgap

활동하기