Python_ 함수 연습
몫과 나머지를 구하는 함수
😎 다음 소스 코드를 완성하여 x를 y로 나누었을 때의 몫과 나머지가 출력되게 만드세요.
x = 10
y = 3
_______________________________________________
_______________________________________________
quotient, remainder = get_quotient_remainder(x, y)
print('몫: {0}, 나머지: {1}'.format(quotient, remainder))
✅ answer
x = 10
y = 3
def get_quotient_remainder(a, b):
return a // b, a % b
quotient, remainder = get_quotient_remainder(x, y)
print('몫: {0}, 나머지: {1}'.format(quotient, remainder))
📗 explanation
get_quotient_remainder 함수에 x와 y를 넣어서 몫과 나머지를 구하고 있습니다. 먼저 get_quotient_remainder 함수는 값을 두 개 받으므로 def get_quotient_remainder(a, b):와 같이 만들어줍니다. 그리고 함수 안에서 return으로 a를 b로 나누었을 때 몫과 나머지를 반환해주면 됩니다.
여기서 몫은 정수로 나와야 하므로 버림 나눗셈 연산자 //을 사용하고, 나머지는 나머지 연산자 %를 사용해야 합니다. 또는, int(a / b)와 같이 나눗셈 연산자 /를 사용한 뒤에 int로 변환해도 됩니다. 특히 return으로 값을 두 개 반환해야 하므로 각 반환값은 콤마로 구분해줍니다.
사칙 연산 함수
😎 표준 입력으로 숫자 두 개가 입력됩니다. 다음 소스 코드를 완성하여 두 숫자의 덧셈, 뺄셈, 곱셈, 나눗셈의 결과가 출력되게 만드세요. 이때 나눗셈의 결과는 실수여야 합니다.
✅ answer
x, y = map(int, input().split())
def calc(a,b):
return a+b, a-b, a*b, a/b
a, s, m, d = calc(x, y)
print('덧셈: {0}, 뺄셈: {1}, 곱셈: {2}, 나눗셈: {3}'.format(a, s, m, d))
calc 함수에 x와 y를 넣어서 두 수의 덧셈, 뺄셈, 곱셈, 나눗셈을 구하고 있습니다. 먼저 calc 함수는 값을 두 개를 받으므로 def calc(a, b):와 같이 만들어준다.
함수 안에서 return으로 a를 b로 더한 값, a에서 b를 뺀 값, a와 b를 곱한 값, a에서 b를 나눈 값을 반환한다.
여기서 나눗셈의 결과는 실수가 나와야 하므로 나눗셈 연산자 /를 사용해야 합니다. 특히 return으로 값을 네 개 반환해야 하므로 각 반환값은 콤마로 구분해준다.
가장 높은 점수를 구하는 함수
✅ answer
korean, english, mathematics, science = 100, 86, 81, 91
def get_max_score(*args):
return max(args)
max_score = get_max_score(korean, english, mathematics, science)
print('높은 점수:', max_score)
max_score = get_max_score(english, science)
print('높은 점수:', max_score)
📗 explanation
get_max_score 함수는 호출할 때마다 인수의 개수가 달라지고 있으므로 가변 인수 함수로 만들어야 한다. 특히 get_max_score(korean, english, mathematics, science)처럼 인수를 위치 인수로 넣고 있으므로 def get_max_score(*args):로 작성한다.
함수 안에서는 max를 사용해서 args에서 가장 큰 수를 구한 뒤 return으로 반환한다.
가장 낮은 점수, 높은 점수와 평균 점수를 구하는 함수
😎 표준 입력으로 국어, 영어, 수학, 과학 점수가 입력됩니다. 다음 소스 코드를 완성하여 가장 높은 점수, 가장 낮은 점수, 평균 점수가 출력되게 만드세요. 평균 점수는 실수로 출력되어야 합니다.
✅ answer
korean, english, mathematics, science = map(int, input().split())
def get_min_max_score(*scrs):
return min(*scrs), max(*scrs)
def get_average(**kyscrs):
return sum(kyscrs.values())/len(kyscrs)
min_score, max_score = get_min_max_score(korean, english, mathematics, science)
average_score = get_average(korean=korean, english=english,
mathematics=mathematics, science=science)
print('낮은 점수: {0:.2f}, 높은 점수: {1:.2f}, 평균 점수: {2:.2f}'
.format(min_score, max_score, average_score))
min_score, max_score = get_min_max_score(english, science)
average_score = get_average(english=english, science=science)
print('낮은 점수: {0:.2f}, 높은 점수: {1:.2f}, 평균 점수: {2:.2f}'
.format(min_score, max_score, average_score))
📗 explanation
get_min_max_score 함수를 사용해서 가장 낮은 점수와 가장 높은 점수를 구하고, get_average 함수를 평균 점수를 구하고 있습니다. 따라서 함수를 두 개 만들어야 합니다. 또한, 함수를 호출할 때마다 인수의 개수가 달라지고 있으므로 가변 인수 함수로 만들어야 합니다.
먼저 get_min_max_score 함수는 get_min_max_score(korean, english, mathematics, science)처럼 인수를 위치 인수로 넣고 있으므로 def get_min_max_score(*args):와 같이 만들어줍니다. 함수 안에서는 min을 사용해서 args에서 가장 작은 수를 구하고, max를 사용해서 args에서 가장 큰 수를 구한 뒤 return으로 반환하면 됩니다. 특히 return으로 반환값을 여러 개 반환할 때는 각 반환값을 콤마로 구분해줍니다.
get_average 함수는 get_average(korean=korean, english=english, mathematics=mathematics, science=science)처럼 인수를 키워드 인수로 넣고 있으므로 def get_average(**kwargs):와 같이 만들어줍니다. 함수 안에서는 평균을 구해야 하는데 먼저 sum(kwargs.values())처럼 values로 딕셔너리의 값만 가져온 뒤 sum으로 합계를 구합니다. 그리고 합계를 키의 개수로 나눠준 뒤 return으로 반환하면 됩니다(평균 점수는 실수로 출력되어야 하므로 나눗셈 연산자 /를 사용해야 합니다). 키의 개수는 len(kwargs)처럼 len으로 구할 수 있습니다.
Author And Source
이 문제에 관하여(Python_ 함수 연습), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@ziy0ung1229/사전스터디-PY-u4zgqj5j저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)