오늘 정리해볼 내용은 선택구조, 과제 문제의 코드와 순서도 입니다.
∴ 예제 9번, 두 수 중 큰 수 찾기
가장 먼저 단말을 사용하여 시작을 알린 후 조건에 맞게 a와 b를 입력 받았습니다. 만일 a가 b보다 크다고 판별될 때 큰 수는 a로 출력되도록 설정하였고 만일 b가 더 크다면 b가 나오도록 설정하여 순서도를 제작하였습니다.
# 예제 9번
a = int(input("정수: "))
b = int(input("정수: "))
if a > b:
print("큰 수: ", a)
else:
print("큰 수: ", b)
∴예제 10번, 양수, 0, 음수 판별하기
양수 음수 판별기는 꽤나 쉽습니다. 이도 다른 것처럼 단말로 시작을 잡아준 후 판별할 정수를 입력받아줍니다. 이후 a < 0이란 조건을 걸어 옳으면 음수라 판별, 아니면 다시 a > 0 라는 조건을 걸어 옳으면 양수, 만일 입력된 값이 0이면 0이라는 판별을 할 수 있도록 조건을 걸어 순서도를 제작합니다. 아래는 실현 단계입니다.
#예제 10번
#사용자로부터 입력 받은 수를 변수 a에 저장하고, a가 0보다 작으면 “음수”를, 그렇지 않고 0보다 크면 “양수”를, 그렇지 않으면 “0”을 출력한다.
a = int(input("정수 입력: "))
if a < 0:
print("음수")
elif a > 0 :
print("양수")
else:
print("0")
∴예제 11번, 세 수 중 가장 큰 수 찾기(1)
앞선 예제들과 달리 이번에는 세 수를 입력 받아야 합니다. 그러기 위해선 변수를 a, b, c 총 3개로 잡아 입력 받아주고 먼저 a > b라는 조건을 걸어 맞다면 그 다음 조건으로 a > c 라는 조건을 걸어줍니다. 이때 맞다면 가장 큰 수는 a가 되며 아니라면 c가 가장 큰 수가 됩니다. 방금 전으로 돌아가 아니요 라는 판별이 나게 되면 b > c 라는 조건을 걸어 맞다면 b가 가장 큰수로 아니라면 c가 가장 큰 수인 결과가 나오도록 조건을 걸어 마무리 해줍니다.
#예제 11번
a = int(input("1번 정수는: "))
b = int(input("2번 정수는: "))
c = int(input("3번 정수는: "))
if a>b:
if a>c:
print("가장 큰 수는: ", a)
else:
print("가장 큰 수는: ", c)
else:
if b>c:
print("가장 큰 수는:", b)
else:
print("가장 큰 수는:", c)
∴예제 12번, 세 수 중 가장 큰 수 찾기(2)
예제 11번과 같지만 결은 다릅니다. 먼저 세 수를 입력 받는 것이 아닌 두 수를 입력 받습니다. 이후 a > m 이라는 조건을 걸어 맞다면 m에 a를 대입하여 줍니다. 만일 아니라면, 이때 마지막 세 번째 정수를 입력받아 가장 큰 수를 구하고 그 정수를 m에 대입하여 결과를 도출합니다.
# 예제12
# 사용자로부터 첫 번째 수를 입력받아 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번, 홀수 짝수 판별하기
홀수, 짝수 구하기는 제법 쉬운 문제입니다. 짝수만 구하면 홀수는 자동으로 구해지니까요. 항상 그랬듯이 단말로 시작하여 a라는 정수를 입력 받습니다. 이후 a%2==0이라는 조건을 걸어줍니다. 이때 %는 나머지를 구하는 연산자입니다. 2로 나누어 나머지가 0이 나오는 정수는 짝수, 아닌 정수는 홀수라는 조건입니다.
#예제13
#홀수, 짝수 판별하기
a = int(input("정수 입력: "))
if a%2==0:
print("짝수")
else:
print("홀수")
∴ 예제 14번, 3의 배수 판별하기
예제 13번의 기출문제와도 같습니다. 단말로 시작하고 a의 값을 입력받습니다. 이후 아까와 같이 a%3==0이라는 조건을 걸어줍니다. 3으로 나누었을때 나머지가 0인 숫자가 3의 배수이다. 라는 뜻입니다. 맞다면 3의 배수, 아니라면 3의 배수가 아닌 것으로 판별합니다.
#예제14
#3의 배수 판별하기
a = int(input("정수 입력: "))
if a%3==0:
print("3의 배수")
else:
print("3의 배수가 아님")
∴예제 15번, 나이에 따른 입장표(1)
먼저 나이를 입력받습니다. 이후 age < 8, 8살 미만 일때 입장료는 0원이라는 조건을 걸어주며, 8 <= age < 60, 8살 이상 60살 미만은 5000원이라는 조건을, 그것도 아니라면 5000/2라는 조건을 걸어 반값에 입장표를 가져가는 것으로 조건을 걸어 마무리 해줍니다.
#예제 15번
#나이에 따른 입장료
age = int(input("정수 입력: "))
if age < 8:
print("0원")
elif 8 <= age < 60:
print("5,000원")
else:
print(5000/2, "원")
∴예제 16번, 3의 배수이면서 5의 배수
이 문제의 지문을 잘 읽어보면 3의 배수이면서 5의 배수입니다. 그러므로 두 가지 조건이 맞아야 결과를 도출할 수 있도록 해야 합니다. a % 3 == 0 and a % 5 == 0: 부분은 입력한 정수가 3의 배수이면서 동시에 5의 배수인지를 확인하는 조건입니다.
즉, 두 조건이 모두 참일 때만 True가 됩니다. 입력받은 수가 조건에 충족한다면 3 또는 5의 배수이며 아니라면 배수가 아닙니다.
#예제 16번
#3의 배수이면서 5의 배수
a = int(input("정수: "))
if a%3==0 and a%5==0:
print("3 또는 5의 배수입니다.")
else:
print("3, 5의 배수가 아닙니다.")
print("배수 판별하는 프로세스를 종료합니다.")
∴예제 17번, 나이에 따른 입장표(2)
먼저 단말로 시작을 해주며 age를 입력받아줍니다. 이후 age < 8 or age >= 60 이라는 조건을 걸어줍니다. 나이가 8살 미만, 60살 이상이라면 무료, 아니라면 5000원의 요금을 청구해야 합니다.
#예제17
#나이에 따른 공원입장료
age = int(input("나이 입력: "))
if age < 8 or age >= 60:
print("무료")
else:
print("5000원")
∴ 두 수를 입력받아 두 수 중 작은 수를 출력하는 순서도와 파이썬 프로그램 작성
먼저 단말로 시작을 알리고 이후 준비 기호로 a와 b를 입력 받았습니다. 전과 달리 한 번에 써도 될것 같아 한 번에 쓰는 것임을 양해 부탁드립니다. 이후로 두 수의 차를 구하는 것이기 때문에 if문을 활용하여 서류 기호에 a < b를 넣어 a라는 결과를 도출했고 아니라면 a > b를 입력해 b라는 결과를 도출하는 형식으로 코드와 순서도를 제작하였습니다.
# 두 수를 입력받아 두 중 작은 수를 출력하는 순서도와 파이썬 프로그램을 작성하여라.
a = int(input("정수: "))
b = int(input("정수: "))
if a>b:
print("더 작은 수는: ", b)
else:
if a<b:
print("더 작은 수는: ", a)
print("프로세스 종료")
∴ 두 수를 입력받아 두 수의 차를 출력하는 순서도와 파이썬 프로그램 작성
이번 코드와 순서도는 아주 간단하게 제작해 보았습니다. 먼저 똑같이 단말로 시작을 알리며 두 수를 입력 받으라는 것이 조건이었으니 준비 기호에 a와 b로 입력 받았습니다. 이후 처리 기호로 a-b라는 조건을 입력하여 결과값을 출력하고 단말로 종료하였습니다.
#두 수를 입력받아 두 수의 차를 출력하는 순서도와 파이썬 프로그램을 작성하여라.
a = int(input("정수는: "))
b = int(input("정수는: "))
print("두 수의 차는", a-b)
∴ 세 수를 입력받아 가장 작은 수를 출력하는 순서도와 파이썬 프로그램 작성
전과 달리 이번엔 꽤나 복잡하다는 생각이 듭니다. if문을 두 개를 썼으니까요. 먼저 단말로 시작을 알리고 이번엔 세 수를 입력 받으라 했으니 a, b, c로 세 가지의 숫자를 입력 받는 조건을 세워줍니다. if문을 두 개로 열어 먼저 a를 처리해줍니다. a가 b보다 작을 시에 다음 조건으로 a가 c보다 작을 경우, a가 나오도록 출력. 만약 아니라면 c가 나오도록 출력했고. 두 번째 if문으로 b가 c보다 작을 경우 b를 출력, 아닐 경우 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)
∴ 다음과 같은 요금 체계에 대해 거리에 따른 요금을 출력하는 순서도와 파이썬 프로그램 작성
거리 | 요금 |
5km 미만 | 1000원 |
5km 이상 ~ 10km 미만 | 2000원 |
10km 이상 | 3000원 |
조금 더 쉽게 하는 방법이 있겠지만 저는 그냥 경우에 따라 if문 3가지를 썼습니다. 먼저 단말로 시작하여 a값을 입력받았습니다. 저 a로 몇 km로의 거리를 왔는지 입력 받고 먼저 a가 5보다 작을 경우 요금이 1,000원이 되도록 아니라면 그 다음 처리문으로 가도록 설정했고, 입력 받은 요금이 5 이상, 10미만일 경우 요금이 2,000원으로 아니라면 다음 처리문으로 행할 수 있도록 설정하였습니다. 마지막으로 요금이 10km 이상일 경우 3,000원으로 설정하며 총 3가지 if문을 써서 마무리 했습니다.
#다음과 같은 요금 체계에 대해 거리에 따른 요금을 출력하는 순서도와 파이썬 프로그램을 작성하여라.
#5km미만 1,000원
#5km이상 ~ 10km미만 2,000원
#10km이상 3,000원
a = int(input("거리를 입력하여 주세요.: "))
if a < 5:
print("5km 미만 거리의 요금은 1000원 입니다.")
elif a >= 5 and a < 10:
print("5km 이상 - 10km 미만 거리의 요금은 2000원 입니다.")
else:
if a >= 10:
print("10km 이상 거리의 요금은 3000원 입니다.")
print("요금 계산을 종료하겠습니다.")
∴ 하나의 수를 입력받아 5의 배수 또는 7의 배수인지 판별하는 순서도와 파이썬 프로그램 작성
마지막 문제입니다. 먼저 단말로 시작을 알리고 이후에 하나의 수인 a를 입력 받습니다. if문을 활용하여 처리문에 a%5==0 and a%7==0 을 넣어 입력받은 수가 5 또는 7의 배수인지 확인합니다. 이때 %는 나머지를 구하는 연산자입니다. a가 5로 떨어지고 7로 떨어지는 배수임을 나타냅니다. and를 쓴 이유는 조건 자체가 5의 배수 또는 7의 배수인지 판별하는 것이기 때문에, 만일 a가 5일때 5의 배수에는 부합하지만 7의 배수에는 부합하지 않으므로 5, 7의 배수에 맞지 않다는 결과가 나옵니다.
#하나의 수를 입력받아 5의 배수 또는 7의 배수인지 판별하는 순서도와 파이썬 프로그램을 작성하여라.
a = int(input("정수: "))
if a%5==0 and a%7==0:
print(": 5 또는 7의 배수")
else:
print("5, 7의 배수가 아닙니다.")
print("배수 판별하는 프로세스를 종료합니다.")
이와같이 오늘은 파이썬, 선택구조의 문제들에 대해 풀어보았습니다. 잘못된 부분이 있다면 추후에 알려주시면 감사하겠습니다. 감사합니다.
'Python > Task' 카테고리의 다른 글
5/27_Python 함수 (1) | 2025.05.27 |
---|---|
5/23_Python For문 (0) | 2025.05.23 |
5/14_Python 순차구조 (0) | 2025.05.14 |