[Python 로직과 순서도] 02.선택구조
목표
- 틀리는 것을 두려워하지 않게 되는 것이 목표입니다.
문제들에 정답을 원하지 않습니다. 틀려도 됩니다. 에러 경고가 떠도 괜찮습니다. - 초급 수준 문제부터 여러분의 일상을 프로그래밍으로 채우고, 습관을 바꿔주세요.
- 내가 모르고 이해하지 못하는 기술에 자동완성 사용하실 생각이면, 개발자 외 다른 직업 추천드립니다. 앞으로 최소 2년 이상, 길게 보세요. 지금 당장 못하는게 정상입니다. 다시 한 번 말씀드리지만 정답을 원하지 않습니다.
- 랜덤 값, 로컬 시간 가져오는 함수 외, 외장함수 사용 금지.
- 순서도를 작성해 주세요.
머리속에 논리 구조와 순서를 그리는 연습을 해주세요. diagrams.net Link - 모든 문제를 분석 → 설계 → 구현 과정으로 풀어주세요.
연습문제
예제09
두 수 중 큰 수 찾기
사용자로부터 입력 받은 두 수를 변수 a, b에 저장하고, a 값이 b 값보다 크면 a 값을 출력하고, 그렇지 않으면 b 값을 출력한다.
예제10
양수, 0, 음수 판별하기
사용자로부터 입력 받은 수를 변수 a에 저장하고, a가 0보다 작으면 “음수”를, 그렇지 않고 0보다 크면 “양수”를, 그렇지 않으면 “0”을 출력한다.
예제11
세 수 중 가장 큰 수 찾기(1)
a가 b보다 크고 a가 c보다 크면 a가 가장 큰 수가 되고, a가 b보다 크고 a가 c보다 크지않으면 c가 가장 큰 수가 된다. a가 b보다 크지 않고 b가 c보다 크면 b가 가장 큰 수가 되고, a가 b보다 크지 않고 b가 c보다 크지 않으면 c가 가장 큰 수가 된다.
구현
a = int(input("정수: "))
b = int(input("정수: "))
c = int(input("정수: "))
if a>b:
if a>c:
print("가장 큰 수 :", a)
else:
print("가장 큰 수 :", c)
else:
if b>c:
print("가장 큰 수 :", b)
else:
print("가장 큰 수 :", c)
예제12
세 수 중 가장 큰 수 찾기(2)
사용자로부터 첫 번째 수를 입력받아 max에 저장한다. 두 번째로 입력받은 수 a와 max를 비교하여 a가 max보다 크면 max에 a를 저장한다. 세 번째 수도 마찬가지 방법으로 수행한다. 결국 가장 큰 수가 max에 저장된다.
구현
m = int(input("정수: "))
a = int(input("정수: "))
if a>m:
m = a
a = int(input("정수: "))
if a>m:
m = a
print("가장 큰 수:", m)
예제13
홀수, 짝수 판별하기
사용자로부터 입력받은 수를 2로 나누었을 때 나머지가 0이면 “짝수”, 나머지가 0이 아니면 “홀수”이다.
예를 들어 입력받은 수가 10이라면 2로 나누었을 때 나머지가 0이 된다. 따라서 10은 “짝수”가 된다. 만약 입력받은 수가 15라면 2로 나누었을 때 나머지가 1이 되어 0이 아니므로15는 “홀수”가 된다.
예제14
3의 배수 판별하기
사용자로부터 입력받은 수를 3으로 나눈 나머지가 0이면 입력받은 수는 3의 배수이고, 그렇지 않으면 3의 배수가 아니다.
예를 들어, 10은 3으로 나눈 나머지가 0이 아니므로 3의 배수가 아니다. 반면 15는 3으로 나눈 나머지가 0이므로 15는 3의 배수가 된다.
예제15
나이에 따른 입장료
입장료 정가가 5000원인 경우 나이에 따른 요금체계가 다음과 같은 경우 나이를 입력 받아 입장료를 구한다.
입력 받은 나이가 8미만이면 “0”, 그렇지 않고 60미만이면 정가인 5000, 그렇지 않으면 정가의 50%인 2500을 출력한다.
나이 | 요금 |
8세 미만 | 무료 |
8세 이상 ~ 60세 미만 | 정가 |
60 세 이상 | 정가의 50% |
예제16
3의 배수이면서 5의 배수 판별하기
사용자로부터 입력받은 수를 3으로 나눈 나머지가 0이고 5로 나눈 나머지도 0이면 3의 배수이면서 5의 배수이다.
예를 들어, 10은 3으로 나누었을 때 나머지가 1이 되어 0이 아니다. 따라서 10은 3의 배수이면서 5의 배수가 아니다.
반면 15는 3으로 나누었을 때 나머지가 0이 되고, 5로 나누었을 때도 나머지가 0이 되므로 15는 3의 배수이면서 5의 배수가 된다.
예제17
나이에 따른 공원입장료
나이에 따른 공원 입장료는 다음과 같다.
입력 받은 나이가 8미만이거나 60세 이상이면 “무료”를 출력하고, 그렇지 않으면 “5000원”을 출력한다.
나이 | 요금 |
8세 미만 | 무료 |
8세 이상 ~ 60세 미만 | 5,000원 |
60 세 이상 | 무 |
과제 06
두 수를 입력받아 두 중 작은 수를 출력하는 순서도와 파이썬 프로그램을 작성하여라.
과제 07
두 수를 입력받아 두 수의 차를 출력하는 순서도와 파이썬 프로그램을 작성하여라.
과제 08
세 수를 입력받아 가장 작은 수를 출력하는 순서도와 파이썬 프로그램을 작성하여라.
과제 10
다음과 같은 요금 체계에 대해 거리에 따른 요금을 출력하는 순서도와 파이썬 프로그램을 작성하여라.
거리 | 요 |
5km미만 | 1,000원 |
5km이상 ~ 10km미만 | 2,000원 |
10km이상 | 3,000원 |
과제 11
하나의 수를 입력받아 5의 배수 또는 7의 배수인지 판별하는 순서도와 파이썬 프로그램을 작성하여라.