본문 바로가기

기타/문제풀이

[Python_문제풀이] Functions 함수2

반응형

Q) 세 개의 숫자를 입력받아 가장 큰수를 출력하는 print_max 함수를 정의하라. 단 if 문을 사용해서 수를 비교하라.

 

A) 

풀이 1 )

def print_max(a,b,c):
    if a > b and a>c:
        return a
    elif b>a and b>c:
        return b
    elif c>a and c>b:
        return c

 

풀이 2 )

def print_mat(num1,num2,num3):
    if num1>num2 and num1 > num3:
        print(num1)
    elif num2 > num3:
        print(num2)
    else:
        print(num3)

print_max(10,3,5)

 

풀이 3 ) max 함수를 사용하면 간단하다.

def print_max(num1,num2,num3):
    num_list = [num1, num2, num3]
    print(max(num_list))

print_max(10,3,5)

 

Q) 입력된 문자열을 역순으로 출력하는 print_reverse 함수를 정의하라.

 

A) 

풀이 1 )

def print_reverse(a):
    new_list=[]
    for i in a[::-1]:
        new_list.append(i)
        print(i)
    print(new_list)

 

풀이 2 )

def print_reverse(sentence):
    print(sentence[::-1])

print_reverse("python")

 

Q) 연봉을 입력받아 월급을 계산하는 calc_monthly_salary(annual_salary) 함수를 정의하라. 회사는 연봉을 12개월로 나누어 분할 지급하며, 이 때 1원 미만은 버림한다.

예) calc_monthly_salary(12000000)

답변 예시) 1000000

 

A) 

풀이 1 )

def calc_monthly_salary(annual_salary):
        return int(annual_salary / 12)

calc_monthly_salary(12000000)

 

풀이 2 ) round 함수 이용

def calc_monthly_salary(annual_salary):
    print(round(annual_salary/12))

calc_monthly_salary(12000000)

 

Q) 콤마가 포함된 문자열 숫자를 입력받아 정수로 변환하는 convert_int 함수를 정의하라.

예) convert_int("1,234,567")

답변 예시) 1234567

 

A) 

풀이 1 )

def convert_int(a):
    b = a.split(',')
    c = b[0] + b[1] + b[2]
    c = int(c)
    return c

 

풀이 2)

def convert_int(string):
    data = string.replace(',','')
    data = int(data)
    return data
반응형