파이썬/문제풀이

[알기 쉽게 해설한 파이썬 with 컴퓨팅 사고력] Chapter 04 연습 문제 풀이

2024. 10. 18. 11:44
728x90

01. 다중 if문과 중첩 if문을 활용하여 학점 계산 프로그램을 완성하시오. 입력받는 정수는 반드시 0~100점 사이에 있어야 하고, 잘못된 점수를 입력하면 '점수 입력은 0~100 사이어야 합니다.'를 출력하도록 프로그램을 작성하시오.

더보기

A학점 : 90~100점     B학점 : 80~89점     C학점 : 70~79점

D학점 : 60~69점       F학점 : 60점 미만 

score = int(input("점수를 입력하세요(0~100점) : "))

if (score >= 0 and score <= 100):
    if (score >= 90 and score <= 100):
        print("A학점입니다.")
    elif (score >= 80 and score <= 89):
        print("B학점입니다.")
    elif (score >= 70 and score < 79):
        print("C학점입니다.")
    elif (score >= 60 and score <= 60):
        print("D학점입니다.")
    else:
        print("F학점입니다.")
else:
    print("정수 입력은 0~100 사이여야 합니다.")

 

 

02. 정수 하나를 입력받아 자릿수를 구하는 프로그램을 작성하시오. 그리고 입력받은 정수가 네 자리 수 이상이면 '네 자리 수 이상입니다.'를 출력하시오.

num = input("정수를 입력하세요 : ")
length = len(num.lstrip('-'))

if (length >= 4):
    print("입력받은 정수는 네 자리 수 이상입니다.")
elif (length < 4):
    print("입력받은 정수는 세 자리 수 입니다.")
else:
    print("입력받은 정수는 세 자리 수 미만 입니다.")

 

 

 


 

 

 

03. 두 개의 숫자를 입력받아 두 개의 수가 모두 짝수이면 두 수를 더한 결과를 출력하고 그렇지 않고 둘 중 하나가 홀수이면 몇 번째 입력한 수를 짝수로 입력해야 하는지 출력하시오.

num1 = int(input("첫 번째 정수를 입력하세요 : "))
num2 = int(input("두 번째 정수를 입력하세요 : "))

if ((num1 % 2 == 0) and (num2 % 2 == 0)):
    print(num1, "+", num2, "=", num1 + num2)
else:
    if ((num1 % 2 != 0) and (num2 % 2 != 0)):
        print("두 숫자 모두 짝수로 입력하세요.")
    elif (num1 % 2 != 0):
        print("첫 번째 정수를 짝수로 입력하세요.")
    elif (num2 % 2 != 0):
        print("두 번째 정수를 짝수로 입력하세요.")

 

 

04. 다음 정보를 활용하여 두 정수를 입력받아 두 정수의 연산 값이 출력되는 프로그램을 작성하시오(단, 나눗셈의 몫을 계산할 때 나누는 수 y는 0이 입력되면 안 됨).

더보기

x > y → 나눗셈의 몫 출력

x < y → 합 출력

x == y → 곱 출력

x = int(input("x의 값을 입력해주세요 : "))
y = int(input("y의 값을 입력해주세요 : "))

if (y != 0):
    if (x > y):
        print(x, "//", y, "=", x // y)
    elif (x < y):
        print(x, "+", y, "=", x + y)
    elif (x == y):
        print(x, "*", y, "=", x * y)
else:
    print("y의 값이 0입니다.")

 

 

 


 

 

 

05. 두 개의 숫자를 입력받아 두 번째 수가 첫 번째 수의 약수인지 아닌지 구분하는 프로그램을 만드시오.

num1 = int(input("첫 번째 정수를 입력하세요 : "))
num2 = int(input("두 번째 정수를 입력하세요 : "))

if (num1 % num2 == 0):
    print(num2, "는", num1, "의 약수입니다.")
else:
    print(num2, "는", num1, "의 약수가 아닙니다.")