5/19_Python 선택구조

2025. 5. 19. 16:02·Python/Task

 

 

 

 

 

 

 

 

오늘 정리해볼 내용은 선택구조, 과제 문제의 코드와 순서도 입니다.

 

 

 

∴ 예제 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
'Python/Task' 카테고리의 다른 글
  • 5/27_Python 함수
  • 5/23_Python For문
  • 5/14_Python 순차구조
eull
eull
eull 님의 블로그 입니다.
  • eull
    eull 님의 블로그
    eull
  • 전체
    오늘
    어제
    • 개발 환경 (34)
      • Qt (2)
        • API (0)
        • Project (2)
      • MYSQL_Workbench (1)
        • setting (1)
      • Linux_Ubuntu (2)
        • Task (1)
        • Setting (1)
      • C (19)
        • Concept (4)
        • Task (8)
        • Project (1)
        • Study (5)
        • Setting (1)
      • C++ (1)
        • Study (0)
        • Concept (1)
      • Python (6)
        • Task (4)
        • Project (2)
      • 일상 (1)
      • Setting (1)
      • 홍보 (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    #광주인력개발원#대한상공회의소#상공회의소#인력개발원#청년#일경험#ESG#청년일경험&#160;#오텍캐리어#수당100만원#광주#구직단념#그린#Green#취준생#이력서#취업준비#취업맛집&#160;#취업우수기관#국비교육#대학생#ESG지원형
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
eull
5/19_Python 선택구조
상단으로

티스토리툴바