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, '원 입니다.')
'문제풀이 > 창의적 프로그래밍을 위한 파이썬' 카테고리의 다른 글
[창의적 프로그래밍을 위한 파이썬] 8장 연습문제 (0) | 2021.05.23 |
---|---|
[창의적 프로그래밍을 위한 파이썬] 7장 연습문제 (1) | 2021.04.30 |
[창의적 프로그래밍을 위한 파이썬] 5장 연습문제 (2) | 2021.04.20 |
[창의적 프로그래밍을 위한 파이썬] 4장 연습문제 (0) | 2021.04.20 |
[창의적 프로그래밍을 위한 파이썬] 3장 연습문제 (2) | 2021.04.19 |
댓글