2017-09-13 1 views
-4

정수 요소가 들어있는 튜플을 인수로 받아 터플 내에 가장 큰 정수와 가장 작은 정수를 반환하는 max_and_min 함수를 작성해야합니다. 반환 값은 가장 큰 값과 가장 작은 값을 순서대로 포함하는 튜플이어야합니다.Python 최대 및 최소

def max_and_min(values): 
    return (max(values), min(values)) 
    pass 

누구나 대답 가지고 올 반복 사용하는 방법을 알고 다음 '일반'방법

, 내가 함께했다?

+4

하면 for 루프를 요구하고 있습니까? – Y0da

+0

당신은 무엇을 시도 했습니까? 그것은 임무입니까? – Lescurel

+3

정확히 무엇을 원하니? – Harsha

답변

0

당신이 최대/최소를 찾으려면 - 탐색/반복을 통해 다음과 같은 방법을 사용 :

def max_and_min(values): 
    max_v = min_v = values[0] 
    for v in values[1:]: 
     if v < min_v: 
      min_v = v 
     elif v > max_v: 
      max_v = v 

    return (max_v, min_v) 

l = [1,10,2,3,33] 
print(max_and_min(l)) 

출력 :

(33, 1) 
+1

필자는 복사를위한 솔루션을 제공하는 대신 OP가 직접 해결할 수 있도록 솔루션을 설명해야한다고 생각합니다. 이것은 특히 문제가 분명히 숙제를 기반으로하는이 경우에 적용됩니다. –

0

당신의 솔루션은 정상적으로 작동하지만 minmax 메서드는 모두 튜플을 반복하므로 가장 작은 값과 가장 큰 값을 찾습니다.

  • 루프 (for number in values: ...)
  • 비교 튜플을 통해 smallestbiggest과 튜플의 첫 번째 요소에 모두를 설정 :

    • 두 개의 변수를 정의 :

      나는 당신이 원하는 것은 다음과 같은 생각 각 값은 현재 smallestbiggest이고,보다 작은 값은 <이고, 값이 큰 값은 >입니다. 모든 조건이 적용되는 경우

    • 는, 현재 요소 ( smallest = number) 루프가 완료되면

    에 각 변수를 설정하면 변수를 가질 것이다 smallestbiggest은 각각 최소 및 최대 충전.

    더욱 최적화하려면 if 대신 if ... else...을 사용하십시오. 최대 값은 동시에 가장 작은 값일 수 없습니다. (그 유일한 방법은 튜플에 하나의 고유 한 번호를 가지고 있으며 우리는 이미 시작의 첫 번째 요소에 값을 설정하여이 경우를 포함.)