반응형

## 원하는 명령들을 한번만 써놓고 반복적으로 실행 가능 = 반복문


1. while 반복문(조건 부분이 true일 동안에 수행 부분이 계속 실행) -> loop( 반복문)

while 조건부분(결과값으로 불린(True, False)이 나오는 식):
    수행부분(반복적으로 실행하고 싶은 명령들)
 
=1
while i<=3:
    print("i can code too!")
    #무한루프는 좋지 않음
    i = i + 1 
    #i를 지정해줘야 함
cs


ex) while 문을 사용하여 100 이상의 자연수 중 가장 작은 23의 배수를 출력 해보세요

= 100
 
while i % 23 != 0:
    i = i + 1 
print(i)
cs


2. if문(조건 부분이 참일 때 수행 부분이 딱 한번만 실행)-> conditional(조건문)

ex) 

= 5
= 3
 
if a < b:
    print("a는 b보다 작습니다.")
elif a == b:
    print("a와 b는 같습니다.")
else:
    print("a는 b보다 큽니다.")
 
>>> a는 b보다 큽니다.
cs


- 규칙 

= 처음에는 if문 꼭

= 중간에는 elif문은 0번 이상, 원하는 횟수만큼 씀

= 마지막 else문은 0번 또는 1번 쓸 수 있습니다. 


ex2)

temp = 13
 
if temp < = 5:
    print("내복과 긴팔과 자켓을 입으세요")
elif temp < 10:
    print("긴팔과 자켓을 입으세요")
elif temp <= 15:
    print("긴팔을 입으세요")
else:
    print("반팔을 입으세요")
 
>> 긴팔을 입으세요 
cs


ex3) 학점 계산기

def print_grade(midterm, final):
    total = midterm + final
    if total >= 90:
        print("You get an A")
    elif total >= 80:
        print("You get a B")
    elif total >= 70:
        print("You get a C")
    elif total >= 60:
        print("You get a D")
    else:
        print("You fail")
    
# 테스트
print_grade(4045)
print_grade(2035)
print_grade(3032)
print_grade(5045)
 
>>
You get a B
You fail
You get a D
You get an A
cs


ex4) 이상한 수학 문제 1

-100이하의 자연수 중 8의 배수 이지만, 12의 배수는 아닌 것을 모두 출력하세요

= 1
while i <= 100:
    if i % 8 == 0 and i % 12 != 0:
        print(i)
    i += 1
 
>>
8
16
32
40
56
64
80
88
cs


ex5) 이상한 수학 문제2

-1000보다 작은 자연수 중 2 또는 3의 배수의 합을 출력하는 프로그램을 써보세요.

= 1
sum = 0
while i < 999:
    i = i + 1
    if i % 2 == 0 or i % 3 == 0:
        sum = sum + i
print(sum)>> 333167
cs


ex6)약수 찾기

-자연수 중 120의 약수를 모두 출력하고, 총 몇 개의 약수가 있는지 출력하는 프로그램 작성

i=120
x=0
count=0
 
while x <= 120:
    x = x+1
    if i % x == 0:
        count = count +1
        print(x)
print("%d의 약수는 총 %d개 입니다." %(i,count))
cs


ex7)복리 계산

#상수 정의
INSERT_RATE = 0.12
APARTMENT_PRICE = 1100000000
 
#변수 정의
year = 1988
amount = 50000000
add = 0
 
while year < 2016:
    amount = amount * (1 + INSERT_RATE)
    year = year + 1
 
if amount > APARTMENT_PRICE:
    add = amount - APARTMENT_PRICE
    print("%d원 차이로 동일 아저씨의 말씀이 맞습니다."%(add))
else:
    add = APARTMENT_PRICE - amount
    print("%d원 차이로 미란 아주머니의 말씀이 맞습니다."%(add))
cs


ex8)피보나치 수열 계산

previous = 0
current = 1
= 0
 
while i < 20:
    print(current)
    temp = previous
    previous = current
    current = current + temp
    i += 1))
cs


ex9)구구단 출력

= 0 
while i < 9:
    i += 1
    j = 1
    while j <10:
        print("%d * %d = %d" %(i,j,i*j))
        j += 1
cs


3. break문 : while문 조건 부분과 상관 없이 반복문에서 나오고 싶을 때 사용

= 100
while True:
    # i가 23의 배수면 반복문을 끝냄
    if i % 23 == 0:
        break
    i = i + 1
 
print(i)
>>115
cs


4. continue문 : 현재 진행되고 있는 수행부분을 중단시키고 바로 조건 부분을 다시 확인하고 싶을 때 사용

= 0
while i < 15:
    i = i + 1
 
    # i가 홀수면 print(i) 안하고 바로 조건부분으로 돌아감
    if i % 2 == 1:
        continue
    print(i)
 
>>
2
4
6
8
10
12
14
cs


반응형

'Language Study > Python' 카테고리의 다른 글

swap  (0) 2020.01.04
6. 모듈  (0) 2019.07.15
4. 추상화 심화  (0) 2019.05.08
3. 추상화  (0) 2019.04.06
2. 자료형  (0) 2019.03.30

+ Recent posts