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

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

by 그적 2021. 6. 8.

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

댓글