2022. 9. 21. 22:19ㆍ파이썬(Python)
1. continue
- for, while 안에서 사용 가능
- if와 같이 쓰임. 해당 조건이 만족하면 조건문 아래 코드를 더 이상 실행하지 않고 다시 위로 올라가 그다음 loop를 실행.
for i in range(1,11):
코드 1
if i%2==0:
코드2
continue
코드3
- 위의 코드에서 i가 2,4,6,8,10이면 코드 1 -> 코드 2만 수행
- i가 1,3,5,7,9이면 코드 1 -> 코드 3만 수행
Q) 조건에 부합하는 수
- 정수 n을 입력받아 1부터 n까지 3개의 조건을 만족하지 않는 수를 출력
- 조건 1 : 짝수이면서 4의 배수가 아닌 수
- 조건 2 : 8로 나눈 몫이 짝수
- 조건 3 : 7로 나눈 나머지가 4보다 작은 수
n=int(input())
for i in range(1,n+1):
if (i%2==0 and i%4!=0) or ((i//8)%2==0) or (i%7<4) :
continue
else:
print(i,end=' ')
결과
>> 100
11 12 13 25 27 40 41 47 60 61 75 76 88 89 95
2. break
- for, while 안에서 사용 가능
- if와 같이 쓰임. 해당 조건이 만족하는 경우 가장 가까이에 있는 loop를 탈출.
for i in range(1,11):
코드1
if i==8:
코드2
break
코드3
코드4
- 위의 코드에서 i가 1부터 7까지인 경우 코드 1 -> 코드 3 수행
- i가 8일 때 코드 1 -> 코드 2 수행. for를 탈출하여 코드 4 수행
Q) 1부터의 합
- n을 입력하여 1부터 1씩 증가시켜 합을 구함.
- 처음으로 합이 n이상이 될 때 그때의 합을 출력
n=int(input())
sum_val=0
i=1
while sum_val<n:
sum_val+=i
if sum_val>=n:
break
i+=1
print(f'1부터 {i}까지의 합 {sum_val}')
결과
>> 100
1부터 14까지의 합 105
Q) 1부터의 곱
- n을 입력하여 1부터 1씩 증가하여 곱을 구함
- 처음으로 곱이 n이상이 될 때 그때의 곱을 출력
n=int(input())
prod=1
i=1
while prod<n:
prod*=i
if prod>=n:
break
i+=1
print(f'1부터 {i}까지의 곱 {prod}')
결과
>> 100
1부터 5까지의 곱 120
Q) 1까지 나누기
- 정수 n을 입력. n을 차례대로 1,2,3,...으로 나눔.
- 몫이 1 이하가 되는 순간까지 나눗셈을 진행한 총 횟수 출력
n=int(input())
cnt=0
i=1
while n>1:
print(f'{n} / {i} = {n//i}')
n=n//i
i+=1
cnt+=1
print(f'{cnt}번 계산')
결과
>> 100
100 / 1 = 100
100 / 2 = 50
50 / 3 = 16
16 / 4 = 4
4 / 5 = 0
5번 계산
3. 무한 루프
- 입력을 몇 번 받아야 할지 알 수 없을 때 while을 이용한 무한 루프를 사용
- while True라는 반복하는 조건과 특정 조건 만족 시 탈출이 가능한 break를 활용
while True:
코드1
if 조건:
코드2
break
코드3
코드4
- 위 코드에서 조건을 만족하지 않는 경우 => 코드 1과 코드 3 수행
- 조건을 만족하면 => 코드 2가 수행. 반복문 탈출. 코드 4 수행
Q) 합계 구하기 : 0 종료
- 숫자를 계속 입력받기.
- 0이 입력되면 입력받은 숫자들의 합을 출력
sum_val=0
while True:
n=int(input())
if n==0:
break
sum_val+=n
print(sum_val)
결과
>> 12
>> 32
>> 44
>> 74
>> 0
162
Q) 홀수, 짝수 조건 합계
- 어떤 수를 입력하여 그 수가 홀수면 그대로 더한다.
- 짝수는 2를 나눈 몫을 더한다.
- 짝수가 5번 나오면 프로그램을 종료
ex) 1 2 3 4 5 6 7 8 9 10 => 1+1+3+2+5+3+7+4+9+5 = 40
sum_val=0
cnt=0
while True:
n=int(input())
if n%2==0:
sum_val+=(n//2)
cnt+=1
else:
sum_val+=n
if cnt==5:
break
print(sum_val)
결과
>> 1
>> 2
>> 3
>> 4
>> 5
>> 6
>> 7
>> 8
>> 9
>> 10
40
'파이썬(Python)' 카테고리의 다른 글
다중 반복문1 (0) | 2022.09.24 |
---|---|
반복문 활용4 (0) | 2022.09.22 |
반복문 활용2(합, 곱) (0) | 2022.09.20 |
반복문 활용 (0) | 2022.09.19 |
반복문_while (0) | 2022.09.17 |