Python/Algorithm

[Python_Algorithm]직사각형 넓이로 변의 길이 구하기(자료구조와 함께 배우는 알고리즘 입문)

bangle0621 2021. 1. 12. 20:48

조건문의 종료

# 가로, 세로 길이가 정수이고 넓이가 area인 직사각형에서 변의 길이 나열하기

area= int(input('직사각형의 넓이를 입력하세요:'))

for i in range(1,area+1): # 1부터 사각형의 넓이 계산
    if i * i > area : break
    if area % i :continue
    print(f'{i}X{area//i}')

i * i > area 일 때 break 문을 걸어줌으로써 조건문이 종료된다.

예시) 넓이가 30인데 i는 5인경우 5 X 5는 25로 가능 하지만 6인 경우는 6 X 6이 나와 안된다.

 

continue 는 밑의 부분을 실행하지 않고 다시 조건문으로 돌아간다.

넓이로 나누어 떨어지지 않는 수는 다시 조건문으로 올라가 다음 값을 실행한다.

(나머지가 0이 아니면 continue 를 만난다.)

 

직사각형은 가로 X 세로 ,

직사각형의 넓이 area 는 a X b 로 되어있을 것이고, 여기서 a X area/a 로도 변형 할 수 있다.

 

 

break 문 :  else 문을 포함하여 while 문을 강제로 종료합니다.

continue 문 : 반복문이나 스위트의 나머지 부분을 건너뜁니다.

else 문 : break 문이 실행되지 않았을 때만 실행합니다.

# 10~99 사이의 난수 n개 생성하기(특정한 순서나 규칙을 가지지 않는 수.), 13이 나오면 중단한다.

import random

n = int(input('난수의 개수를 입력하세요:'))

for _ in range(n):
    r = random.randint(10,99)
    print(r,end=' ')
    if r == 13:
        print('\n프로그램을 중단합니다.')
        break
        
else:
    print('\n난수 생성을 종료합니다.')

위처럼 else 를 사용해 조건문을 종료할 수도 있다. 

사용자가 입력한 갯수만큼 랜덤한 숫자를 출력하거나, 13이 나오면 종료되는 프로그램이다.