728x90
반응형
이번주 계획
- 직사각형의 넓이로 변의 길이 구하기
- 반목문 건너뛰기와 여러 범위 스캔하기
- 다중 루프 알아보기
변의 길이와 넓이가 모두 정수인 직사각형에서 변의 길이를 구하는 프로그램.
이 때 짧은 변과 긴 변의 길이는 구별하지 않습니다.
예를들어 직사각형의 넓이가 32면 변의 길이는 1 * 32 , 1 * 16 , 4 * 8 만 출력합니다.
2 * 16 은 이미 출력했으므로 16 * 2 는 출력하지 않습니다.
area = int(input('직사각형의 넓이를 입력하세요 : '))
for i in range( 1, area+1 ) :
if i*i > area :
break
if area % i :
continue
print( f'{i} * {area//i}' )
첫번째 if 문
i * i 가 area를 초과하면 for문을 강제 종료 합니다.
그 이유는 i가 가장 긴 변의 길이가 되기 때문입니다.
예를 들어 i가 6이 되면 6 * 6 = 36 이므로 사각형의 최대 넓이 (32) 를 초과하면서도
가장 긴 변의 길이가 되므로 프로그램을 종료한다.
두번째 if 문
continue 문은 area가 i로 나누어 떨어지지 않으면 for문의 다음 반복으로 진행 된다.
area 가 i가 나누어 떨어지지 않으면 i는 변의 길이 (약수)가 될 수 없습니다.
예를 들어 i가 3이면 32%3는 나머지 2 이므로 3은 약수가 아니다.
따라서 출력할 필요가 없다.
import random
n = int(input('난수의 개수를 입력하세요 : ' ))
for _ in range(n) :
r = random.randint( 10, 99 )
print( r, end='' )
if r == 13 :
print('난수 13이 발생했으므로 프로그램을 종료 합니다')
break
else :
print('난수 생성을 종료합니다.')
for문을 사용하여 2자리 정수인 난수를 n개 생성하여 출력합니다.
이 과정에서 13이 생성될 경우 break 문으로 반복문을 강제 종료 합니다.
실행 결과와 같이 13 이후 난수는 출력되지 않고 else 문조 실행되지 않습니다.
728x90
반응형
'TEAM STUDY > PYTHON' 카테고리의 다른 글
다중 루프 알아보기 (0) | 2021.01.09 |
---|---|
반목문 건너뛰기와 여러 범위 스캔하기 (0) | 2021.01.09 |
양수만 입력 받기 (0) | 2021.01.09 |
반복 과정에서 조건 판단하기 3 (0) | 2021.01.07 |
반복 과정에서 조건 판단하기 2 (0) | 2021.01.04 |