본문 바로가기
문제풀이/창의적 프로그래밍을 위한 파이썬

[창의적 프로그래밍을 위한 파이썬] 6장 연습문제

by 그적 2021. 4. 21.

1. 다음 실행문의 결과를 예상해보자.

number = 18

if number < 10 :
    if number > 5:
        print('A')
    else
        print('B')
else :
    print('C')

: C

 

 

2. 조건이 많아지는 경우 ( 중첩 조건문 )은 프로그램의 실행시간이 짧아진다는 장점이 있는 반면 프로그램을 코딩한 사람 외에는 해당 프로그램을 해석하기 어렵다는 단점이 있다. 그러한 프로그램을 ( if-elif-else문 )으로 프로그래밍하게 되면 프로그램의 실행 시간은 길어지는 단점이 있으나 다른 누군가가 그 프로그램을 해석하기 쉬워지는 장점이 있다.

 

 

3. 다음 요구사항에 따라 프로그램을 작성해보자. (요구사항 생략)

size = float(input('손가락 둘레 입력 : '))

if (51.0 < size) and (55.0 >= size) :
    if (51.0 < size) and (52.0 >= size) :
        print('9호 추천')
    else :
        if (52.0 < size) and (53.0 >= size) :
            print('10호 추천')
        else :
            if 53.0 < size and 54.0 >= size :
                print('11호 추천')
            else :
                print('12호 추천')
else :
    print('반지 제작이 불가합니다.')

 

 

4. 다음 요구사항에 따라 프로그램을 작성해보자. (요구사항 생략)

calcul = int(input('원하는 연산 번호를 입력하세요. (1번-더하기, 2번-빼기, 3번-곱하기, 4번-나누기 )'))

if calcul>=1 and calcul<=4 :
    num1 = int(input('첫번째 정수를 입력하세요. : '))
    num2 = int(input('두번째 정수를 입력하세요. : '))

    if calcul == 1:
        print('결과 : ', num1+num2)
    else:
        if calcul == 2:
            print('결과 : ', num1-num2)
        else:
            if calcul == 3:
                print('결과 : ', num1-num2)
            else:
                print('결과 : ', num1/num2)
    
else :
    print('연산번호 오류입니다.')

 

 

5. 다음 요구사항에 따라 프로그램을 작성해보자. (요구사항 생략)

year= int(input('년도를 입력하세요. : '))

if year%400 == 0 :
    print('윤년입니다.')
else :
    if year%4==0 :
        if year%100!=0 :
            print('윤년입니다.')
        else :
            print('윤년이 아닙니다.')
    else :
        print('윤년이 아닙니다.')

 

 

6. 다음 요구사항에 따라 프로그램을 작성해보자. (요구사항 생략)

height = int(input('키를 입력하시오(cm). '))
weight = int(input('몸무게를 입력하시오(kg). '))

bmi = weight/(height*height)* 10000
print(bmi)

if bmi<20:
    print('저체중입니다.')
elif bmi>=20 and bmi<=24:
    print('정상체중입니다.')
elif bmi>=25 and bmi<=30:
    print('경도비만입니다.')
else:
    print('비만입니다.')
    
# 민수의 bmi는 저체중이다.

 

 

7. 다음 요구사항에 따라 프로그램을 작성해보자. (요구사항 생략)

name = input('이름을 입력하시오. ')
level = int(input('직급을 입력하시오(1번 부장, 2번 과장, 3번 대리, 4번 사원, 5번 인턴). '))

if level==1:
    print(name,'님의 연봉은 9000만원입니다.')
elif level==2:
    print(name,'님의 연봉은 6500만원입니다.')
elif level==3:
    print(name,'님의 연봉은 4000만원입니다.')
elif level==4:
    print(name,'님의 연봉은 3000만원입니다.')
elif level==5:
    print(name,'님의 연봉은 1000만원입니다.')
else:
    print('잘못 입력하셨습니다.')

 

 

8. 다음 요구사항에 따라 프로그램을 작성해보자. (요구사항 생략)

height = int(input('키를 입력하시오(cm). '))

if height<=140:
    print('6급 병역 면제입니다.')
elif height>=141 and height<=145:
    print('5급 제2국민역입니다.')
elif height>=146 and height<=158:
    print('4급 보충역입니다.')
else:
    print('현역병입니다.')

 

 

9. 다음 요구사항에 따라 프로그램을 작성해보자. (요구사항 생략)

height = int(input('키를 입력하시오(cm). '))
weight = int(input('몸무게를 입력하시오(kg). '))

bmi = float(weight/(height*height) * 10000)
print(bmi)

if bmi>=20 and bmi<24.9:
    print('군 면제 몸무게 1급입니다.')
elif bmi>=18.5 and bmi<=19.9:
    print('군 면제 몸무게 2급입니다.')
elif bmi>=16 and bmi<=18.4:
    print('군 면제 몸무게 3급입니다.')
elif bmi>=30 and bmi<=34.8:
    print('군 면제 몸무게 3급입니다.')
else:
    print('군 면제 몸무게 4급입니다.')

 

 

10. 다음 요구사항에 따라 프로그램을 작성해보자. (요구사항 생략)

sex = input('성별을 입력하시오. ')
age = int(input('나이를 입력하시오. '))

if sex=='여':
    if age>=20 and age<30:
        print('적립금의 2배를 적립해드립니다.')
    elif age>=30:
        print('적립금의 3배를 적립해드립니다.')
    else:
        print('적립금의 1.5배를 적립해드립니다.')
else:
    print('적립금의 2배를 적립해드립니다.')

 

 

11. 다음 요구사항에 따라 프로그램을 작성해보자. (요구사항 생략)

num1 = int(input('첫번째 정수를 입력하시오. '))
num2 = int(input('두번째 정수를 입력하시오. '))

if num1<num2:
    if num2%2 == 0:
        print(num2,'가 큰 수이고 짝수이다.')
    else:
        print(num2,'가 큰 수이고 홀수이다.')
else:
    if num1%2 == 0:
        print(num1,'이 큰 수이고 짝수이다.')
    else:
        print(num1,'이 큰 수이고 홀수이다.')

 

 

12. 다음 요구사항에 따라 프로그램을 작성해보자. (요구사항 생략)

a, b, c = input('삼각형의 세 변을 입력하시오.').split()
a = int(a)
b = int(b)
c = int(c)

#num3를 가장 긴 변으로 치환
if a>b and a>c:
    num1 = b
    num2 = c
    num3 = a
elif b>a and b>c:
    num1 = a
    num2 = c
    num3 = b
else:
    num1 = a
    num2 = b
    num3 = c

if num1+num2 <= num3:
    print('삼각형이 아닙니다.')
elif num1==num2 and num2==num3:
    print('정삼각형입니다.')
elif num1==num2 or num1==num3:
    print('이등변삼각형입니다.')
elif num1**2+num2**2 == num3**2:
    print('직각삼각형입니다.')
else:
    print('삼각형입니다.')

 

 

13. 다음 실행문이 잘못된 이유를 적어보자.

point = int(input('정수입력 : '))

    if point >= 90:
    print('A')
    elif point >= 80:
    print('B')
    elif point >= 70:
    print('C')
    else:
    print('D')

: 들여 쓰기가 제대로 이루어지지 않았다.

 

 

14. 다음 요구사항에 따라 프로그램을 작성해보자. (요구사항 생략)

semester = int(input('수료한 학기를 입력하시오. '))
grade = float(input('평균 학점을 입력하시오. '))

if semester<1 or semester>8:
    print('장학이 지급되지 않습니다.')
else:
    if grade >= 4.0:
        print('전액장학금입니다.')
    elif grade >= 3.5:
        print('50% 장학금입니다.')
    elif grade >= 3.0:
        print('30% 장학금입니다.')
    else:
        print('장학금이 지급되지 않습니다.')
        
# 4학기를 수료했고, 학점이 3.3인 길동이는 30% 장학금을 받을 수 있다.

 

 

15. 다음 요구사항에 따라 프로그램을 작성해보자. (요구사항 생략)

hour = int(input('출근시간을 입력하시오(시). '))
minute = int(input('출근 시간을 입력하시오(분). '))

if hour==9:
    if minute>30:
        print('지각입니다.')
    else:
        print('정시출근입니다.')
else:
    if hour<9:
        print('정시출근입니다.')
    else:
        print('지각입니다.')

# 9시 31분에 도착한 민지는 지각을 했다.

 

 

16. 다음 요구사항에 따라 프로그램을 작성해보자. (요구사항 생략)

num1, num2, num3 = input('세개의 양의 정수를 입력하시오.').split()

num1 = int(num1)
num2 = int(num2)
num3 = int(num3)

if num1==num2:
    max = num1
    if num1>=num3:
        print('가장 큰 수는',max,'입니다.')
    else:
        max = num3
        print('가장 큰 수는',max,'입니다.')
else:
    max = num2
    if num2>=num3:
        print('가장 큰 수는',max,'입니다.')
    else:
        max = num3
        print('가장 큰 수는',max,'입니다.')

 

 

17. 다음 요구사항에 따라 프로그램을 작성해보자. (요구사항 생략)

num1, num2 = input('두개의 양의 정수를 입력하시오. ').split()
sum = int(num1)+int(num2)

if sum%2==0:
    if sum%3==0:
        print('합은 짝수이며 3의 배수이다.')
    else:
        print('합은 짝수이며 3의 배수가 아니다.')
else:
    if sum%3==0:
        print('합은 홀수이며 3의 배수이다.')
    else:
        print('합은 홀수이며 3의 배수가 아니다.')

 

 

18. 다음 요구사항에 따라 프로그램을 작성해보자. (요구사항 생략)

lucky_num = 7
korean_num = 3

num1, num2 = input('1부터 10까지 당신이 좋아하는 숫자 2개를 쓰시오. ').split()
num1 = int(num1)
num2 = int(num2)

if num1==lucky_num or num2==lucky_num:
    if num1==korean_num or num2==korean_num:
        print('둘 다 정답입니다.')
    else:
        print('행운의 숫자만 정답입니다.')
else:
    if num1==korea_num or num2==korean_num:
        print('한국인이 좋아하는 숫자만 정답입니다.')
    else:
        print('둘 다 오답입니다.')

 

 

19. 다음 요구사항에 따라 프로그램을 작성해보자. (요구사항 생략)

luv = input('"사랑해"라는 문장을 입력하시오. ')

if luv=='I love you':
    print('영어입니다.')
elif luv=='Aishiteru':
    print('일본어입니다.')
elif luv=='Wo ai ni':
    print('중국어입니다.')
elif luv=='Ti amo':
    print('이탈리아어입니다.')
elif luv=='Te qiero':
    print('스페인어입니다.')
elif luv =='Ich Liebe dich':
    print('독일어입니다.')
else:
    print('언어를 판별할 수 없습니다.')

 

 

20. 다음 요구사항에 따라 프로그램을 작성해보자. (요구사항 생략)

num1, num2, num3 = input('세개의 양의 정수를 입력하시오.').split()

num1 = int(num1)
num2 = int(num2)
num3 = int(num3)

if num1>=num2:
    min = num2
    if num2>=num3:
        min = num3
        print('가장 작은 수는',min,'입니다.')
    else:
        print('가장 작은 수는',min,'입니다.')
else:
    min = num1
    if num1>=num3:
        min = num3
        print('가장 작은 수는',min,'입니다.')
    else:
        print('가장 작은 수는',min,'입니다.')

 

 

21. 다음 요구사항에 따라 프로그램을 작성해보자. (요구사항 생략)

num1, num2, num3 = input('세 개의 양의 정수를 입력하시오. ').split()
num1 = int(num1)
num2 = int(num2)
num3 = int(num3)

sum = num1+num2+num3

if sum%2 == 0:
    if num1>=num2:
        max = num1

        if num1>=num3:
            print('합은 짝수이고, 가장 큰 수는',max,'입니다.')
        else:
            max = num3
            print('합은 짝수이고, 가장 큰 수는',max,'입니다.')
    else:
        max = num2

        if num2>=num3:
            print('합은 짝수이고, 가장 큰 수는',max,'입니다.')
        else:
            max = num3
            print('합은 짝수이고, 가장 큰 수는',max,'입니다.')
else:
    print('합은 홀수이고, 합은',sum,'입니다.')

 

 

22. 다음 요구사항에 따라 프로그램을 작성해보자. (요구사항 생략)

x1, y1 = input('x1, y1을 입력하시오. ').split()
x2, y2 = input('x2, y2을 입력하시오. ').split()

x1 = int(x1)
y1 = int(y1)
x2 = int(x2)
y2 = int(y2)

if x1<=x2:
    x = x2-x1

    if y1<=y2:
        y = y2-y1
    else:
        y = y1-y2
else:
    x = x1-x2

    if y1<=y2:
        y = y2-y1
    else:
        y = y1-y2

result = str(x**2+y**2)+ '**0.5'
print('두 점 사이의 거리는',result,'입니다.')

#아니 뭔,, 책에 오타가 많아.. 책에 있는 두 점 사이의 거리 공식도 잘못나와있다. 주의하자.

 

 

23. 다음 요구사항에 따라 프로그램을 작성해보자. (요구사항 생략)

last = int(input('출국 전 남은 기간을 입력하시오. '))
country = input('여행할 국가를 입력하시오(영국, 프랑스, 독일, 그리스). ')

if last >= 45:
    discount = 0.5
if last >= 30:
    discount = 0.3
else:
    discount = 0

if country=='영국':
    print(700000-700000*discount, '원 입니다.')
elif country=='프랑스':
    print(670000-670000*discount, '원 입니다.')
elif country=='독일':
    print(630000-630000*discount, '원 입니다.')
elif country=='그리스':
    print(600000-600000*discount, '원 입니다.')

 

댓글