1. 괄호 안의 인자인 number1, number2를 입력값으로 받아 result=(num1+num2)을 수행하고, 그의 결괏값 result를 반환한 후 종료하는 이름이 average라는 함수를 정의해보자.
def average(number1, number2):
result = number1+number2
return result
print(average(1,2))
2. 다음과 같은 함수가 정의되어 있을 때, 다음 실행문의 결과를 예측해보자.
def print_list(num_list):
for n in num_list:
if(n != 0):
print(n)
else:
break
print_list([1,2,3,0])
#결과
#1
#2
#3
3. 기억해야할 중요한 사항은 함수를 정의하는 것과 함수를 수행하는 것은 다르다는 것이다. 함수의 수행은 함수를 ( 정의 )한 후에 함수 ( 호출 )을 통해 이루어진다.
4, 다음 요구사항에 맞도록 [프로그램]의 잘못된 부분을 골라내어, [테스트]와 같은 결과가 나오도록 수정해보자.
def print_greeting(n):
for count in range(n):
print('Hello, Python')
print_greeting(3)
#Hello, Python
#Hello, Python
#Hello, Python
5, 다음 요구사항에 맞도록 [프로그램]의 잘못된 부분을 골라내어, [테스트]와 같은 결과가 나오도록 수정해보자.
def sum(n):
result = 0
for count in range(n):
result = result + count
return result
print(sum(5)) #10
6. 덧셈하는 함수를 작성해보고, 인자로 3,5를 넣은 결과를 출력해보자.
def add(a,b):
return a+b
print(add(3,5)) #8
7. 사각형의 둘레를 구하는 함수를 작성해보고, 두변의 길이가 각각 3과 6인 사각형의 둘레를 출력해보자.
def circle(a,b):
return 2*a+2*b
print(circle(3,6)) #18
8. 6명의 학생이 시험을 치렀다. 각 시험 점수를 score라는 리스트에 넣고 이에 대해 최고점을 구하는 함수를 for문을 이용해서 작성해보자.
def max(score):
max_num = 0
for i in score:
if max_num < i :
max_num = i
return max_num
score = [55,100,34,99]
print(max(score)) #100
9. 노래방 기계에서 템포를 조정하는 함수를 작성하려 한다. 각 노래의 기본 템포는 0이고 0에서부터 5까지 갈수록 빨라진다. 위의 요구사항을 만족하는 프로그램을 작성해보자.
def tempo(now):
print('현재 템포는 ', now, '입니다. 템포 조정은 0부터 5까지 가능합니다.')
num = int(input('조정하고자 하는 만큼의 크기를 입력 : '))
return num
now = 0
now = now + tempo(now)
print('조정한 후의 템포는 ',now, '입니다.')
#현재 템포는 0입니다. 템포 조정은 0부터 5까지 가능합니다.
#조정하고자 하는 만큼의 크기를 입력 : 3
#조정한 후의 템포는 3 입니다.
10. TV 음량의 현재 음량은 3이고, 증가시킬 만큼의 음량을 입력하면 음량이 증가하는 프로그램을 작성해보자.
def volumn(vol):
print('현재 음량은 ', vol, '입니다.')
up = int(input('증가시킬 만큼의 음량을 입력: '))
return up
now = 3
now = now + volumn(now)
print('증가 후의 음량은 ',now,'입니다.')
#현재 음량은 3 입니다.
#증가시킬 만큼의 음량을 입력: 4
#증가 후의 음량은 7 입니다.
11. 회사으 ㅣ한 부서에서 출근 여부를 입력하는 프로그램을 만들려고 한다. 출근한 사람이 본인의 이름을 입력하면 출근이 완료되었다고 출력해주는 함수를 작성해보자.
def check(name):
flag = 0
list = ['suzi', 'jisu', 'jennie', 'rose', 'lisa']
for tmp in list:
if tmp == name:
print('출근 완료되었습니다.\n')
flag = 1
break
if flag == 0:
print('출근이 불가합니다.\n')
while(True):
name = input('이름을 입력하세요 : ')
check(name)
#이름을 입력하세요 : suzi
#출근 완료되었습니다.
#이름을 입력하세요 : jin
#출근이 불가합니다.
12. 춘천, 부산, 대구, 수원으로 가는 기차표를 예매하는 프로그램을 작성하려 한다. 각 도시 당 5,000원, 30,000원, 2,000원, 10,000원의 비용이 든다. 도시 이름을 입력하면 금액을 결정하고 출력해주는 함수를 작성해보자.
def cost(city):
dic = {'춘천':5000, '부산':30000, '대구':20000, '수원':10000}
for tmp in dic.keys():
if tmp == city:
print(tmp,'까지의 금액은', dic[tmp],'입니다.')
city = input('춘천(운임 : 5000원) / 부산(운임 : 30000원) / 대구(운임 : 20000원) / 수원(운임 : 10000원) \n중 한곳을 입력하세요.')
cost(city)
#춘천(운임 : 5000원) / 부산(운임 : 30000원) / 대구(운임 : 20000원) / 수원(운임 : 10000원)
#중 한곳을 입력하세요.수원
#수원 까지의 금액은 10000 입니다.
13. 양의 정수 n을 입력하면 1부터 n까지 곱해주는 factorial 함수를 작성하려 한다. 다음 테스트 화면에 맞게 빈칸을 채워보자.
def factorial(x):
result = 1
for i in range(1, x+1, 1):
result = result*i
return result
print(factorial(4))
#24
'문제풀이 > 창의적 프로그래밍을 위한 파이썬' 카테고리의 다른 글
[창의적 프로그래밍을 위한 파이썬] 9장 연습문제 (0) | 2021.05.23 |
---|---|
[창의적 프로그래밍을 위한 파이썬] 8장 연습문제 (0) | 2021.05.23 |
[창의적 프로그래밍을 위한 파이썬] 7장 연습문제 (1) | 2021.04.30 |
[창의적 프로그래밍을 위한 파이썬] 6장 연습문제 (1) | 2021.04.21 |
[창의적 프로그래밍을 위한 파이썬] 5장 연습문제 (2) | 2021.04.20 |
댓글