문제
adder함수는 정수 a, b를 매개변수로 입력받습니다.
두 수와 두 수 사이에 있는 모든 정수를 더해서 리턴하도록 함수를 완성하세요. a와 b가 같은 경우는 둘 중 아무 수나 리턴하세요.
예를들어 a가 3, b가 5이면 12를 리턴하면 됩니다.
a, b는 음수나 0, 양수일 수 있으며 둘의 대소 관계도 정해져 있지 않습니다.
나의 풀이
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | def adder(small, big): increase = 1 result = 0 if small > big: small, big = big, small count = small increase = small while big >= count: result = result + increase increase = increase + 1 count = count + 1 return result # 아래는 테스트로 출력해 보기 위한 코드입니다. print( adder(3, 5)) | cs |
[5번 라인] input되는 두 수 중에서 small에는 small의 값이, big에는 input값 중 큰 수가 오게 만들었다.
[10번 라인] while문에서 반복문 돌리면서 그냥 두 수 사이의 합을 구했다.
다른 사람의 풀이
1 2 3 4 5 6 7 8 | def adder(a, b): # 함수를 완성하세요 if a > b: a, b = b, a return sum(range(a,b+1)) # 아래는 테스트로 출력해 보기 위한 코드입니다. print( adder(3, 5)) | cs |
range를 하면 두 수 사이의 리스트가 반환된다. 이를 sum 메소드를 사용하면 그 리스트 안에 있는 값의 합이 나온다.
'Computer Science > Problem Solving' 카테고리의 다른 글
[tryhelloworld]딕셔너리 정렬 by파이썬 (0) | 2017.08.16 |
---|---|
[tryhelloworld]콜라츠 추측 by파이썬 (0) | 2017.08.15 |
[tryhelloworld] 문자열 다루기 기본 by파이썬 (0) | 2017.08.15 |
[tryhelloword]가운데 글자 가져오기 by 파이썬 (0) | 2017.08.15 |
[tryhelloworld]소수 찾기 by파이썬 (0) | 2017.08.14 |