반응형
## 원하는 명령들을 한번만 써놓고 반복적으로 실행 가능 = 반복문
1. while 반복문(조건 부분이 true일 동안에 수행 부분이 계속 실행) -> loop( 반복문)
while 조건부분(결과값으로 불린(True, False)이 나오는 식):
수행부분(반복적으로 실행하고 싶은 명령들)
i =1
while i<=3:
print("i can code too!")
#무한루프는 좋지 않음
i = i + 1
#i를 지정해줘야 함
ex) while 문을 사용하여 100 이상의 자연수 중 가장 작은 23의 배수를 출력 해보세요
i = 100 while i % 23 != 0: i = i + 1 print(i) | cs |
2. if문(조건 부분이 참일 때 수행 부분이 딱 한번만 실행)-> conditional(조건문)
ex)
a = 5 b = 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(40, 45) print_grade(20, 35) print_grade(30, 32) print_grade(50, 45) >> You get a B You fail You get a D You get an A | cs |
ex4) 이상한 수학 문제 1
-100이하의 자연수 중 8의 배수 이지만, 12의 배수는 아닌 것을 모두 출력하세요
i = 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
의 배수의 합을 출력하는 프로그램을 써보세요.
i = 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 i = 0 while i < 20: print(current) temp = previous previous = current current = current + temp i += 1)) | cs |
ex9)구구단 출력
i = 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문 조건 부분과 상관 없이 반복문에서 나오고 싶을 때 사용
i = 100 while True: # i가 23의 배수면 반복문을 끝냄 if i % 23 == 0: break i = i + 1 print(i) >>115 | cs |
4. continue문 : 현재 진행되고 있는 수행부분을 중단시키고 바로 조건 부분을 다시 확인하고 싶을 때 사용
i = 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 |
반응형