3 분 소요

*실습*

Functions

1.1. 하나의 숫자를 입력받아서, 입력받은 수까지의 짝수만 리스트로 반환하는 함수를 만드세요.

예) 7을 입력하면, 결과로 [2,4,6] 리스트를 반환.
def num_list(num):
    number_list=[]
    for i in range(1,num+1):
        if i % 2 ==0:
            number_list.append(i)
    return(number_list)
        
num_list(8)
[2, 4, 6, 8]

1.2. 두 수를 입력받아서, 두수의 합을 구하여 리턴하는, 함수 Sum 을 만드세요. 함수명은 Sum 입니다.

def Sum(x,y):
    result = x + y
    return result
Sum(5,6)
11

2. 숫자 두개, 문자열 1개를 입력받아서, 더하기와 곱하기 연산을 하고, 리턴하는 함수를 만드세요.

함수명은 cal ( value1, value2, operator_str )

operator_str 은 ‘add’, ‘mul’ 두가지 입니다.

만약 cal(3, 4, ‘add’) 이면 더하기를 하고

cal(3, 4, ‘mul’) 이면 곱하기를 합니다.

def cal (value1,value2,operator_str):
    if operator_str == "add":
        return value1 + value2
    elif operator_str == "mul":
        return value1 * value2
cal(5,6,'add')
11
cal(5,6,'mul')
30

2-1. 숫자 두개를 입력받으면, 더하기와 곱하기 연산을 하고, 둘 다 리턴하는 함수를 만드세요.

def cal2(num,num2):
    result = num+num2
    result2 = num*num2
    return result,result2
cal2(3,4)
(7, 12)

3. 과일 등급을 반환하는 함수를 작성하세요.

과일 크기를 입력으로 받으면, 등급을 리턴하는 함수.

def grade(size = None):
    size = int(input("크기 입력:"))
    if size > 100:
        result = "상"
    elif size> 50:
        result = "중"
    elif size>0:
        result = "하"
    elif size < 0:
        result = "다시 입력해주세요"
    return result    
    
A = grade()
크기 입력:11
A
'하'

4. 다음 리스트가 있다. 이 리스트를 함수에 넘겨주면(파라미터), 리스트의 요소를 모두 더한 값을 리턴하는 함수 arr_sum 함수를 작성하세요.

a = [112,234,-355,14,54,44, 94, -1203, 8,44 ]
def arr_sum(List):
    result = sum(List)
    return result
        
arr_sum(a)
-954

5. 학생 이름과 수학점수를 입력받습니다. (4.b 12번 문제를 함수로 변경하는 문제)

입력) 이름 입력 : 홍길동

입력) 영어 점수 입력 : 98

입력) 수학 점수 입력 : 78

.

4명을 입력받으면 더 이상 입력을 받지 않고 다음을 계산하여 출력합니다.

.

출력) 영어 점수 평균은 ... 점입니다.

출력) 수학 점수 평균은 ... 점입니다.

위에서, 유저가 입력한 딕셔너리를, 파라미터로 받아서, 영어점수와 수학점수를 리턴하는 함수 score_average 를 작성하세요.

my_dict_m = {}
my_dict_e = {}
for i in range(4):
    name = input("이름 입력 : ")
    e_score = int(input("영어 점수 입력 : "))
    m_score = int(input("수학 점수 입력 : "))
    my_dict_m[name] = m_score
    my_dict_e[name] = e_score
이름 입력 : A
영어 점수 입력 : 100
수학 점수 입력 : 90
이름 입력 : B
영어 점수 입력 : 80
수학 점수 입력 : 70
이름 입력 : C
영어 점수 입력 : 90
수학 점수 입력 : 80
이름 입력 : D
영어 점수 입력 : 60
수학 점수 입력 : 60
def score_average(dic_m,dic_e):
    average_m = (sum(dic_m.values()))/len(dic_m.values())
    average_e = (sum(dic_e.values()))/len(dic_e.values())
    print("수학점수 평균은 {}점 입니다.".format(average_m))
    print("영어점수 평균은 {}점 입니다.".format(average_e))
    return average_m,average_e
score_average(my_dict_m,my_dict_e)
수학점수 평균은 75.0점 입니다.
영어점수 평균은 82.5점 입니다.





(75.0, 82.5)

6. 위에서

영어 최고점은 .. 점 입니다.

수학 최고점은 .. 점 입니다.

위에서 유저가 입력한 딕셔너리를, 파라미터로 받아서, 영어 최고점과 수학 최고점을 리턴하는 함수 get_max 를 작성하세요.

def get_max(dic_m,dic_e):
    max_m = max(dic_m.values())
    max_e = max(dic_e.values())
    print("수학 최고점은 {}점 입니다.".format(max_m))
    print("영어 최고점은 {}점 입니다.".format(max_e))
    return max_m,max_e
get_max(my_dict_m,my_dict_e)
수학 최고점은 90점 입니다.
영어 최고점은 100점 입니다.





(90, 100)
score_dict = {}
for i in range(4):
    name = input("이름 입력:")
    eng = int(input("영어 점수 입력:"))
    math = int(input("수학 점수 입력"))
    
    score_dict[name] = [eng,math]
이름 입력:A
영어 점수 입력:100
수학 점수 입력100
이름 입력:B
영어 점수 입력:90
수학 점수 입력90
이름 입력:C
영어 점수 입력:90
수학 점수 입력90
이름 입력:D
영어 점수 입력:80
수학 점수 입력80
def score_average2(score_dict):
    value_list = list(score_dict.values())
    eng_list = []
    math_list = []
    for data in value_list :
        eng = data[0]
        math = data[1]
        eng_list.append(eng)
        math_list.append(math)
    avg_eng = sum(eng_list)/len(eng_list)
    avg_math = sum(math_list)/len(math_list)
    return avg_eng,avg_math
result = score_average2(score_dict)
print("영어 점수 평균은 {}점 입니다.".format(result[0]))
print("수학 점수 평균은 {}점 입니다.".format(result[1]))
영어 점수 평균은 90.0점 입니다.
수학 점수 평균은 90.0점 입니다.

파라미터를 하나만 받을경우

def get_max2(score_dict):
    value_list = list(score_dict.values())
    eng_list = []
    math_list = []
    for data in value_list :
        eng = data[0]
        math = data[1]
        eng_list.append(eng)
        math_list.append(math)
    max_eng = max(eng_list)
    max_math = max(math_list)
    return max_eng,max_math
    
max_result = get_max2(score_dict)
print("영어 점수 최고점은 {}점 입니다.".format(max_result[0]))
print("수학 점수 최고점은 {}점 입니다.".format(max_result[1]))
영어 점수 최고점은 100점 입니다.
수학 점수 최고점은 100점 입니다.

댓글남기기